Как создавать ботов в Telegram / Хабр

24 июня разработчики Telegram открыли платформу для создания ботов. Новость кого-то обошла стороной Хабр, однако многие уже начали разрабатывать викторины. При этом мало где указаны хоть какие-то примеры работающих ботов.

Прежде всего, бот для Telegram — это по-прежнему приложение, запущенное на вашей стороне и осуществляющее запросы к Telegram Bot API. Причем API довольное простое — бот обращается на определенный URL с параметрами, а Telegram отвечает JSON объектом.

Рассмотрим API на примере создания тривиального бота:

1. Регистрация

Прежде чем начинать разработку, бота необходимо зарегистрировать и получить его уникальный id, являющийся одновременно и токеном. Для этого в Telegram существует специальный бот — @BotFather.

Пишем ему /start и получаем список всех его команд.
Первая и главная — /newbot — отправляем ему и бот просит придумать имя нашему новому боту. Единственное ограничение на имя — оно должно оканчиваться на «bot».

В случае успеха BotFather возвращает токен бота и ссылку для быстрого добавления бота в контакты, иначе придется поломать голову над именем.

Для начала работы этого уже достаточно. Особо педантичные могут уже здесь присвоить боту аватар, описание и приветственное сообщение.

Не забудьте проверить полученный токен с помощью ссылки api.telegram.org/bot<TOKEN>/getMe, говорят, не всегда работает с первого раза.

2. Программирование

Создавать бота буду на Python3, однако благодаря адекватности этого языка алгоритмы легко переносятся на любой другой.

Telegram позволяет не делать выгрузку сообщений вручную, а поставить webHook, и тогда они сами будут присылать каждое сообщение. Для Python, чтобы не заморачиваться с cgi и потоками, удобно использовать какой-нибудь реактор, поэтому я для реализации выбрал tornado.web. (для GAE удобно использовать связку Python2+Flask)

Каркас бота:

URL = "https://api.telegram.org/bot%s/" % BOT_TOKEN
MyURL = "https://example. com/hook"
api = requests.Session()
application = tornado.web.Application([
    (r"/", Handler),
])
if __name__ == '__main__':
    signal.signal(signal.SIGTERM, signal_term_handler)
    try:
        set_hook = api.get(URL + "setWebhook?url=%s" % MyURL)
        if set_hook.status_code != 200:
            logging.error("Can't set hook: %s. Quit." % set_hook.text)
            exit(1)
        application.listen(8888)
        tornado.ioloop.IOLoop.current().start()
    except KeyboardInterrupt:
        signal_term_handler(signal.SIGTERM, None)
Здесь мы при запуске бота устанавливаем вебхук на наш адрес и отлавливаем сигнал выхода, чтобы вернуть поведение с ручной выгрузкой событий.

Приложение торнадо для обработки запросов принимает класс tornado.web.RequestHandler, в котором и будет логика бота.

class Handler(tornado.web.RequestHandler):
        def post(self):
            try:
                logging.debug("Got request: %s" % self.request.body)
                update = tornado.
escape.json_decode(self.request.body) message = update['message'] text = message.get('text') if text: logging.info("MESSAGE\t%s\t%s" % (message['chat']['id'], text)) if text[0] == '/': command, *arguments = text.split(" ", 1) response = CMD.get(command, not_found)(arguments, message) logging.info("REPLY\t%s\t%s" % (message['chat']['id'], response)) send_reply(response) except Exception as e: logging.warning(str(e))
Здесь CMD — словарь доступных команд, а send_reply — функция отправки ответа, которая на вход принимает уже сформированный объект Message.

Собственно, её код довольно прост:

def send_reply(response):
    if 'text' in response:
        api.post(URL + "sendMessage", data=response)

Теперь, когда вся логика бота описана можно начать придумывать ему команды.

3. Команды

Перво-наперво, необходимо соблюсти соглашение Telegram и научить бота двум командам: /start и /help:

def help_message(arguments, message):
    response = {'chat_id': message['chat']['id']}
    result = ["Hey, %s!" % message["from"].get("first_name"),
              "\rI can accept only these commands:"]
    for command in CMD:
        result.append(command)
    response['text'] = "\n\t".join(result)
    return response

Структура message[‘from’] — это объект типа User, она предоставляет боту информацию как id пользователя, так и его имя. Для ответов же полезнее использовать message[‘chat’][‘id’] — в случае личного общения там будет User, а в случае чата — id чата. В противном случае можно получить ситуацию, когда пользователь пишет в чат, а бот отвечает в личку.

Команда /start без параметров предназначена для вывода информации о боте, а с параметрами — для идентификации. Полезно её использовать для действий, требующих авторизации.

После этого можно добавить какую-нибудь свою команду, например, /base64:

def base64_decode(arguments, message):
    response = {'chat_id': message['chat']['id']}
    try:
        response['text'] = b64decode(" ". join(arguments).encode("utf8"))
    except:
        response['text'] = "Can't decode it"
    finally:
        return response

Для пользователей мобильного Telegram, будет полезно сказать @BotFather, какие команды принимает наш бот:
I: /setcommands
BotFather : Choose a bot to change the list of commands.

I: @******_bot
BotFather: OK. Send me a list of commands for your bot. Please use this format:

command1 — Description
command2 — Another description
I:
whoisyourdaddy — Information about author
base64 — Base64 decode
BotFather: Success! Command list updated. /help

C таким описанием, если пользователь наберет /, Telegram услужливо покажет список всех доступных команд.

4. Свобода

Как можно было заметить, Telegram присылает сообщение целиком, а не разбитое, и ограничение на то, что команды начинаются со слеша — только для удобства мобильных пользователей.
Благодаря этому можно научить бота немного говорить по-человечески.

UPD: Как верно подсказали, такое пройдет только при личном общении. В чатах боту доставляются только сообщения, начинающиеся с команды (/<command>) (https://core.telegram.org/bots#privacy-mode)

  • All messages that start with a slash ‘/’ (see Commands above)
  • Messages that mention the bot by username
  • Replies to the bot’s own messages
  • Service messages (people added or removed from the group, etc.)

Чтобы бот получал все сообщения в группах пишем @BotFather команду

/setprivacy и выключаем приватность.

Для начала в Handler добавляем обработчик:

if text[0] == '/':
    ...
else:
    response = CMD["<speech>"](message)
    logging.info("REPLY\t%s\t%s" % (message['chat']['id'], response))
    send_reply(response)
А потом в список команд добавляем псевдо-речь:

RESPONSES = {
    "Hello": ["Hi there!", "Hi!", "Welcome!", "Hello, {name}!"],
    "Hi there": ["Hello!", "Hello, {name}!", "Hi!", "Welcome!"],
    "Hi!": ["Hi there!", "Hello, {name}!", "Welcome!", "Hello!"],
    "Welcome": ["Hi there!", "Hi!", "Hello!", "Hello, {name}!",],
}
def human_response(message):
    leven = fuzzywuzzy.
process.extract(message.get("text", ""), RESPONSES.keys(), limit=1)[0] response = {'chat_id': message['chat']['id']} if leven[1] < 75: response['text'] = "I can not understand you" else: response['text'] = random.choice(RESPONSES.get(leven[0])).format_map( {'name': message["from"].get("first_name", "")} ) return response
Здесь эмпирическая константа 75 относительно неплохо отражает вероятность того, что пользователь всё-таки хотел сказать. А format_map — удобна для одинакового описания строк как требующих подстановки, так и без нее. Теперь бот будет отвечать на приветствия и иногда даже обращаться по имени.

5. Не текст.

Боты, как и любой нормальный пользователь Telegram, могут не только писать сообщения, но и делиться картинками, музыкой, стикерами.

Для примера расширим словарь RESPONSES:

RESPONSES["What time is it?"] = ["<at_sticker>", "{date} UTC"]
И будем отлавливать текст <at_sticker>:

if response['text'] == "<at_sticker>":
        response['sticker'] = "BQADAgADeAcAAlOx9wOjY2jpAAHq9DUC"
        del response['text']
Видно, что теперь структура Message уже не содержит текст, поэтому необходимо модифицировать send_reply:

def send_reply(response):
    if 'sticker' in response:
        api.
post(URL + "sendSticker", data=response) elif 'text' in response: api.post(URL + "sendMessage", data=response)
И все, теперь бот будет время от времени присылать стикер вместо времени:

6. Возможности

Благодаря удобству API и быстрому старту боты Telegram могут стать хорошей платформой для автоматизации своих действий, настройки уведомлений, создания викторин и task-based соревнований (CTF, DozoR и прочие).

Вспоминая статью про умный дом, могу сказать, что теперь извращений меньше, а работа прозрачнее.

7. Ограничения

К сожалению, на данный момент существует ограничение на использование webHook — он работает только по https и только с валидным сертификатом, что, например для меня пока критично за счет отсутствия поддержки сертифицирующими центрами динамических днс.

К счастью, Telegram также умеет работать и по ручному обновлению, поэтому не меняя кода можно создать еще одну службу Puller, которая будет выкачивать их и слать на локальный адрес:

while True:
            r = requests. get(URL + "?offset=%s" % (last + 1))
            if r.status_code == 200:
                for message in r.json()["result"]:
                    last = int(message["update_id"])
                    requests.post("http://localhost:8888/",
                                  data=json.dumps(message),
                                  headers={'Content-type': 'application/json',
                                           'Accept': 'text/plain'}
                     )
            else:
                logging.warning("FAIL " + r.text)
            time.sleep(3)

P.S. По пункту 7 нашел удобное решение — размещение бота не у себя, а на heroku, благо все имена вида *.herokuapp.com защищены их собственным сертификатом.

UPD: Telegram улучшили Бот Апи, из-за чего, теперь не обязательно иметь отдельную функцию для отправки сообщений при установленном вебхуке, а в ответ на POST запрос можно отвечать тем же сформированным JSON с ответным сообщением, где одно из полей устанавливается как ч ‘method’: ‘sendMessage’ (или любой другой метод, используемый ботом).

Создаем бота для Telegram

В рамках данной статьи я расскажу о том, как быстро и легко написать программу-бота для популярного мессенджера Telegram. Писать бота мы будем на языке Python, параллельно изучая его основы. Договоримся, что вы используете Linux в качестве операционной системы, либо знаете как выполнить аналоги команд в Windows.

Установка необходимых библиотек

Нам понадобятся следующие библиотеки и программы:

  • pip — менеджер пакетов для Python
  • python — интерпретатор языка
  • virtualenv — виртуальное окружение
  • telebot — обертка над telegram API для языка Python

Теперь откроем консоль и наберем несколько команд. Первым делом загрузим менеджер пакетов для питона и виртуальное окружение, внутри которого мы будем устанавливать все остальные пакеты, чтобы не засорять систему и не порождать конфликтов с другими проектами. Также скачаем проект telebot, который носит название pyTelegramBotAPI.

sudo apt-get install python-pip sudo pip install pyTelegramBotAPI sudo pip install virtualenv

Следующая команда создаст в вашей директории новую директорию venv, в которой будет хранить все локальные библиотеки. Подробности про виртуальные окружения можно прочитать по адресу: http://docs.python-guide.org/en/latest/dev/virtualenvs/ Можно работать и без виртуального окружения, но тогда убедитесь, что устанавливаемые вами библиотеки не конфликтуют с другими библиотеками в системе (например, могут сломаться некоторые программы, заточенные под старые версии пакетов).

virtualenv venv

После чего нам потребуется переместиться внутрь виртуального окружения, где можно будет подгружать все необходимые пакеты для проекта.

source venv/bin/activate

Создание Telegram-бота

Начнем с создания простого бота для Telegram. Чтобы наш бот функционировал, нужно первым делом его создать. Для этого в телеграме есть специальный мета-бот BotFather (@BotFather). Добавьте его через поиск в вашем клиенте телеграмма. Список его команд можно получить, написав в чате с ним команду /help. Для создания нового бота нужно написать команду /newbot и в следующем сообщении передать название бота (должно заканчиваться словом bot). В ответ вам придет сообщение с API токеном — он понадобится нам для создания соединения с телеграммом.

Создайте файл simplebot.py со следующим содержанием:

# -*- coding: utf-8 -*- import telebot bot = telebot.TeleBot("") @bot.message_handler(commands=['help', 'start']) def send_welcome(message): msg = bot.send_message(message.chat.id, 'Привет! Я codex_bot!') @bot.message_handler(commands=['auth']) def send_auth(message): pass bot.polling()

Код довольно интуитивен, поясним только основные идеи. Когда пользователь будет вводить команды /start и /help — выполнится функция send_welcome, которая отправит пользователю в чат сообщение с приветствием. При вводе /auth пока ничего происходить не будет.

Запустите бота командой:

python simplebot.py

Теперь вы можете добавить своего бота в чат телеграмм и пообщаться с ним. Много полезных функций можно найти в документации telegram. Например, если вы хотите изменить описание, которое будут видеть пользователи при добавлении вашего бота в чат, вы можете написать @botfather следующую команду:

/setdescription

Затем выберите нужного бота из предложенного списка и следующим сообщением отправьте текст описания. Также, вы можете задать вашему боту список команд, которые он понимает. Это необходимо для того, чтобы у пользователей выводились подсказки при наборе команд в чате. Введите:

/setcommands

Выберите бота из списка и в следующем письме введите перечень команд в формате:

команда1 - Описание команды команда2 - Еще одно описание команды

Этих знаний достаточно, чтобы уже сейчас запустить своего бота. О том как сделать его чуточку полезнее, читайте в продолжении.

Как создать бота для Telegram

В отличие от других приложений для общения и обмена сообщениями, Telegram был разработан для поддержки ботов без особых усилий. Поддержка ботов привела к ошеломляющему количеству вариантов ботов, которые вы можете найти и интегрировать в свои группы. Кроме того, создать собственного бота довольно просто, так как большинство необходимых инструментов уже есть в Telegram.

В этом руководстве описан процесс создания и добавления базового бота в ваш канал Telegram. Для простоты руководство будет сосредоточено на версии для ПК, но аналогичные шаги применимы и к другим платформам.

Как создать бота Telegram

Создать простую оболочку бота Telegram довольно просто. Вот что вам нужно сделать.

  1. Откройте приложение Telegram и авторизуйтесь, если необходимо.
  2. Нажмите на строку поиска в верхнем левом углу и найдите «BotFather».
  3. На вкладке «Глобальный поиск» вы увидите проверенную, отмеченную галочкой учетную запись с дескриптором «@BotFather». Это официальный бот Telegram для создания ботов. Нажмите на нее, чтобы начать общение.
  4. Нажмите на большую кнопку «СТАРТ» в чате.
  5. Введите или выберите команду «/newbot» из списка и отправьте ее, чтобы начать процесс создания.
  6. Теперь выберите имя для своего бота и отправьте его. Обратите внимание, что имя бота не обязательно должно заканчиваться словом «Бот» или содержать его, но это может помочь другим пользователям узнать, что они используют бота в будущем.
  7. После того, как вы назовете его, сделайте уникальное имя пользователя для своего бота. Согласно инструкции, имя пользователя должно иметь в конце «бот».
  8. Сохраните ссылку на токен API, которую BotFather отправляет в ответ. Не делитесь им с другими людьми, так как он обеспечивает полный доступ для модерации и контроля.
  9. Добавьте описание вашего бота, введя «/setdescription» и после него текст дескриптора. Другие пользователи увидят этот текст, когда бот поприветствует их или откроют его данные. Его можно использовать аналогично приветственному сообщению или указывать пользователям на основные команды бота.
  10. Чтобы заполнить профиль бота изображением, введите «/setuserpic» и, когда BotFather ответит, отправьте изображение для добавления в учетную запись вашего бота.

Таким образом вы создаете профиль бота для Telegram. Вы должны увидеть своего бота, если введете его имя пользователя в строке поиска, и когда вы нажмете на него, он должен открыть чат с сообщением, которое вы установили в качестве описания ранее.

Имейте в виду, что недавно созданный бот — это, по сути, чистый лист, и его нужно запрограммировать, чтобы он мог делать хоть что-то полезное. Вы можете обратиться к руководству по ботам Telegram, указанному в первом сообщении BotFather, чтобы узнать, как добавлять команды или подписаться на службу, которая сделает это за вас.

Боты должны иметь три основные команды: запуск, помощь и настройки. Эти глобальные команды доступны через интерфейс и помогают пользователям перемещаться по другим функциям бота.

К сожалению, на этом легкая часть (и объем этого руководства) заканчивается. Создание функционального бота требует знаний в области программирования, как правило, на Java, C# или Python.

Сохраненный токен можно использовать для сторонних сервисов для подключения API бота к их API, что позволит вам программировать или добавлять функции через их платформу. Для полной свободы действий вашего бота вам необходимо больше узнать о библиотеках, программировании, объектно-ориентированном программировании и ноу-хау в IDE (например, Visual Studio Code).

Существуют сервисы для ботов, предназначенные для продвижения бизнеса, обмена валюты, заказа товаров, составления новостей и многого другого.

Don’t Worry A-Bot It

То, что привлекает людей в Telegram, может сильно различаться. Некоторые присоединяются из-за конфиденциальности и шифрования, некоторые из-за отсутствия ограничений на количество участников канала, а другие из-за открытого исходного кода и простоты внедрения ботов. И со всеми возможностями, которые предлагает Telegram, понятно, почему у него такая высокая вовлеченность пользователей.

В этой статье рассмотрены только основы создания бота, а все остальное зависит от вашего опыта программирования или сторонней реализации. Сообщите нам в комментариях, если у вас возникли проблемы с ботами Telegram или о каких руководствах вы хотели бы получить дополнительную информацию в следующий раз.

Как создать собственного бота в Telegram | Джерри | Паук

Опубликовано в

·

Чтение: 7 мин.

·

3 февраля 2021 г.

Пропал Наташа из Hike-chat? Что, если я скажу вам, что мы можем создать свой собственный сервис в Telegram, который общается с нами! В этой статье мы собираемся сделать именно это с помощью простого кода с открытым исходным кодом, используя Python и Telegram бесплатно!

Источник: SAP Conversational AI. Они могут выполнять ряд действий, например обучать, играть, искать, транслировать, напоминать, подключаться, интегрироваться с другими службами или даже передавать команды в Интернет вещей.

Теперь давайте создадим Telegram-бота, который сможет общаться с вами, как с приложением ИИ, где угодно, когда угодно и для кого угодно.
Насколько это круто? Давайте начнем.

Шаги по созданию:

  1. Создать Telegram-бота.
  2. Создать чат-бота.
  3. Создать сервис, который может связать Чат-бота с Телеграм-ботом.

Как создать бота?
Это очень просто, Telegram предлагает бота, который делает это за вас с помощью простых команд. Искать Botfather в строке поиска приложения Telegram вы найдете бота с официально подтвержденной галочкой. Далее нажимаем на старт, чтобы использовать бота.

Источник: Telegram

Мы будем использовать команду /newbot для создания бота.
Давайте назовем бота Дэдпулом, добавив немного остроты, чтобы давать дикие ответы.

Использование сервиса Telegram Botfather для создания нового бота. Первое выделение — это общая ссылка, а следующее — токен API для вновь созданного бота (в настоящее время этот токен деактивирован).

Даем имя и уникальный логин (общая ссылка) боту, все, Ура! наш бот создан.

Мы можем скопировать ссылку и поделиться ею с кем-либо в Интернете или выполнить поиск Telegram-бота в строке поиска, чтобы получить бота. Откройте бота и начните его использовать.

Мы отправляем сообщения, но почему бот Дэдпул не отвечает? В следующем разделе мы сделаем так, чтобы он отвечал на наши сообщения.

Нам нужно приложение ИИ, которое может отвечать на наши сообщения. Мы будем кодировать это в этом разделе. Мы можем создать собственный чат-бот и тренироваться с нашими данными с нуля или использовать библиотеки с открытым исходным кодом для создания некоторых библиотек. Здесь мы будем использовать chatterbot — библиотеку Python, которая делает всю работу за вас, нам просто нужно ввести сообщение, и он возвращает ответ, в этом сила открытого исходного кода.

Затем мы устанавливаем необходимые библиотеки python3

 pip install ChatterBot 
Пример кода для использования модуля Chatterbot

Это так же просто, как и создание чат-бота, независимо от ввода, который мы вводим внутри метода get_response , мы получаем ответ из обученного ИИ-бота, которого мы только что сделали.

Мы только что сделали чат-бота, но как мы можем интегрировать чат-бот с Telegram-ботом? Следующий раздел делает именно это.

Мы создали телеграм-бота для пользователей. Мы получили чат-бота для ответа на сообщения, здесь нам нужно их интегрировать так, чтобы чат-бот получал сообщение от телеграмм-бота и снова отвечал на него.

Как это сделать?

Перед этим нам потребуется узнать об API Telegram, который позволяет коду Python3 взаимодействовать с ботом Telegram.

Когда пользователь отправляет сообщение, наш сервер (код) должен собрать это сообщение. Есть два способа, которыми Telegram предлагает нашим серверам получать сообщения (от пользователя).

1. Опрос в конечной точке API — Telegram API предлагает конечную точку /getUpdate в API для получения обновлений для пользовательского ввода.

2. Веб-перехватчики — Telegram предлагает конечную точку /setWebhook и /deleteWebhook для установки и удаления веб-перехватчика для обновлений сообщений от пользователя.

Подробнее об определениях и различиях между опросом и веб-перехватчиками.

В этой статье мы будем использовать 1-й вариант опроса API-запроса, поскольку для этого варианта не требуется сервер, размещенный в Интернете, с конечной точкой (URL), а также его легко запустить и протестировать. Если вы новичок в веб-API, нажмите здесь , чтобы узнать о них.

Использование опроса

Получение пользовательских сообщений: Мы можем использовать конечную точку /getUpdates с токеном безопасного API, полученным при создании бота, для получения сообщений, отправленных всеми пользователями бота Deadpool с использованием приведенного ниже URL-адреса.

 https://api.telegram.org/bot1635894026:AAHiGLTmIfLYd8IIqYBvu2vlO1Fy0JHOj3E/getUpdates 

Поскольку это конечная точка запроса GET, мы можем запустить ее в браузере. замените указанный выше токен API своим токеном API и используйте URL-адрес в своем браузере, введите несколько сообщений своему боту, и вы получите сообщения в формате JSON при перезагрузке.

Ответ на сообщения пользователя : Теперь мы можем использовать конечную точку /sendMessage для отправки сообщений пользователю с его идентификатором пользовательского чата (полученным из конечной точки /getUpdates) и ответным сообщением с использованием этого формата в URL-адресе.

 https://api.telegram.org/bot1635894026:AAHiGLTmIfLYd8IIqYBvu2vlO1Fy0JHOj3E/sendMessage?text="ответить на сообщение пользователя"&chat_id=654923404 

Замените своим токеном и идентификатором чата для сообщения с предыдущей конечной точки на ответить с ответное сообщение в текстовом поле в URL-адресе.

Ура! мы можем отправлять и получать сообщения от конечных точек API. Давайте реализуем это в коде python3.

Устанавливаем необходимые библиотеки из pip. Затем мы создали:

  1. Доступ к API-интерфейсу бота Telegram, который имеет методы для получения обновлений с использованием тайм-аута ожидания идентификатора сообщения, который является числом и увеличивается на единицу для каждого сообщения и отправки сообщений, см. документацию здесь.
  2. Файл конфигурации для использования собственного токена.
  3. Файл сервера для запуска сервера с чат-ботом (тот, который мы создали в предыдущем разделе) и для ответа на идентификатор чата пользователя с помощью метода send_message бота телеграммы из импортированного класса бота.

Мы запускаем файл, используя следующую команду

 python server.py 

, которая выводит вывод в консоли, как показано ниже.

Сервер запущен и готов отвечать на сообщения для бота Дэдпула. может реагировать на различные аспекты, выдающие себя за человека на сервере.

Теперь, пока сервер работает, мы отправляемся в Telegram, чтобы проверить нашего бота, мы можем отправлять сообщения и видеть его ответ и разговаривать.

Круто, правда? Достижение Мы успешно создали чат-бот Telegram. Поделитесь им с друзьями, используя общую ссылку, и они смогут попробовать. Если они спровоцируют бота, он будет давать такие дикие ответы…

Больше он никогда не использовал бота.

Вы можете тайно искать с помощью API сообщения, которые ваш друг отправил Telegram-боту, даже если он не разделяет с вами смущения и не смеется с вашими друзьями.

Бот отвечает, а ввод пользователя осмыслен и понятен. Не говоря уже о том, что чат-бот является приложением ИИ, для того, чтобы бот понимал поведение и эмоции человека из вводимого текста, требуются обучающие данные, вы можете использовать свои собственные чат-боты или вы можете создать их самостоятельно, используя некоторые хорошо поддерживаемые библиотеки с открытым исходным кодом и применить его здесь.

Вместо чат-бота мы можем создать собственное приложение с таким количеством сервисов, которое сможем интегрировать. Например, с базами данных, сторонними сервисами и многим другим. Боты Telegram могут выполнять любые автоматизированные услуги, такие как регистрация событий на платежном портале, предоставление спортивных новостей и многое другое.

В среде разработки мы запускаем файл python локально, что обеспечивает работу телеграмм-бота.