- Запустите Telegram и найдите бота
@BotFather
или просто перейдите по ссылке. Это бот для создания новых ботов. - Начните чат с ботом. Для того чтобы создать нового бота - напишите команду
/newbot
. - Укажите имя бота - это имя будет отображаться в чатах и оно может быть любым.
- Затем укажите идентификатор бота - это имя без пробелов, которое оканчивается на
bot
илиBot
. Этот идентификатор должен быть уникальным. Можете пробовать различные имена, BotFather укажет, если что-то ему не понравится :) - Все, на этом бот готов! На экран будет выведен токен для управления ботом.
- По желанию можно установить описание бота с помощью команды
/setdescription
и изображение с помощью команды/setuserpic
.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
DB_USER=${DB_USER:-"default_user"} | |
DB_PASSWORD=${DB_PASSWORD:-"default_password"} | |
DB_NAME=${DB_NAME:-"default_name"} | |
sudo -u postgres psql -c "CREATE USER $DB_USER WITH PASSWORD '$DB_PASSWORD';" | |
sudo -u postgres psql -c "CREATE DATABASE $DB_NAME;" | |
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME TO $DB_USER;" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1. nano /etc/default/locale | |
# example | |
LANGUAGE=en_US.UTF-8 | |
LC_ALL=en_US.UTF-8 | |
LANG=en_US.UTF-8 | |
LC_TYPE=en_US.UTF-8 | |
LC_MESSAGES=en_US.UTF-8 | |
2. locale-gen en_US.UTF-8 |
- Установить nginx и certbot
apt install nginx certbot
- Создаем/изменяем файл с настройками получения сертификатов (метод webroot). Файл
/etc/letsencrypt/cli.ini
authenticator = webroot
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Date | Shop | Country | Visitors | Earnings | |
---|---|---|---|---|---|
2021-01-10 | Metro | DE | 30861 | 663462 | |
2021-01-10 | IKEA | GB | 45071 | 233363 | |
2021-01-10 | H&M | US | 64099 | 488619 | |
2021-01-10 | Walmart | DE | 49261 | 271064 | |
2021-01-10 | IKEA | FR | 65216 | 615775 | |
2021-01-11 | IKEA | DE | 7618 | 126885 | |
2021-01-11 | IKEA | RU | 38168 | 775906 | |
2021-01-11 | IKEA | FR | 12712 | 689709 | |
2021-01-11 | Prisma | FR | 91555 | 522156 |
Dataset: https://gist.github.com/artrey/8d6a3f2d91cefb5e6343bedbc9ef8c79
Вам необходимо разработать API сервис для выдачи информации из датасета выше. Клиент должен иметь возможность:
- Получать только запрошенные колонки
- Фильтровать данные по одной или нескольким колонкам: дате (from/to), магазинам, странам
- Группировать данные по одной или нескольким колонкам: датам, магазинам, странам
- Сортировать по любой из колонок
Если клиент не указывает, какие колонки необходимо отобразить, то требуется отобразить все колонки.
function remind() {
var scheduleSheet = SpreadsheetApp.getActive().getSheetByName("График");
var infoSheet = SpreadsheetApp.getActive().getSheetByName("Дежурные");
var duty = scheduleSheet.getRange(12, 7, 1, 1).getValue();
var info = infoSheet.getRange(1, 1, infoSheet.getLastRow(), 3).getValues();
for (var index in info) {
var row = info[index];
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from __future__ import annotations | |
import typing | |
from typing import Generic, TypeVar | |
T = TypeVar("T") | |
class LinkedListError(Exception): | |
pass |
PATCH {{baseUrl}}/users/me/
Authorization: JWT {{token}}
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary
------WebKitFormBoundary
Content-Disposition: form-data; name="photo"; filename="demo-name.png"
Content-Type: image/png
< /home/alexander/Pictures/google-calendar.png
OlderNewer