Advanced FunctionGraph Webhook Telegram-бот

Создание бота в Telegram требует минимальных навыков программирования. Упростить его создание можно с помощью Telegram Bot API, который предоставляет инструменты и структуру, необходимые для интеграции пользовательского кода.

В этой статье описано создание простого бессерверного бота Telegram, который повторяет все, что вводит пользователь, с помощью сервисов FunctionGraph и API Gateway.

Для настройки Telegram-бота:

  1. Создайте telegram-бота с помощью BotFather.

  2. Введите команду /newbot.

  3. Дайте название боту и укажите имя пользователя.

    Примечание

    Название вашего бота отображается в контактной информации. Имя пользователя — это сокращенное название, которое будет использоваться в поиске, упоминаниях и ссылках t.me. Имена пользователей имеют длину от 5 до 32 символов и не чувствительны к регистру, но могут включать только латинские буквы, цифры и символы подчеркивания. Имя пользователя вашего бота должно заканчиваться на «bot», например «cloud_bot» или «CloudBot».

    После создания имя пользователя изменить нельзя.

  4. Скопируйте токен, который BotFather пришлет в сообщении об успешном создании. Сохраните его, так как он потребуется при настройке функции FunctionGraph.

    Токен представляет собой строку, например 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw, которая требуется для авторизации бота и отправки запросов к bot-API. Для каждого бота это уникальный токен, который также можно отозвать в любое время через @BotFather.

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

В настоящее время поддерживается два способа обработки обновлений ботов: getUpdates и setWebhook:

  • getUpdates — это механизм PULL.

  • setWebhook — это механизм PUSH.

    Примечание

    Есть некоторые преимущества использования setWebhook по сравнению с getUpdates. Как только появляется какое-либо обновление, оно доставляется боту для обработки.

    Преимущества:

    • нет навязчивых обновлений;

    • не нужны регулярные проверки обновлений в вашем коде;

    • экономия CPU и увеличение времени отклика (зависит от схемы использования бота).

Установка webhook означает, что вы предоставляете Telegram URL-адрес, по которому ваш бот прослушивает обновления. Telegram должен иметь возможность подключаться и публиковать обновления по этому URL-адресу.

Пример установки webhook curl:

curl -F "url=https://mydomain.ru/webhook" https://api.telegram.org/bot<YOURTOKEN>/setWebhook

Для отправки уведомлений с платформы Advanced в бот Telegram нужно настроить функцию в FunctionGraph и создать API Gateway.

См.также

О работе с Webhook — Marvin’s Marvellous Guide to All Things Webhook (en)

Запустили Evolution free tier
для Dev & Test
Получить