- tocdepth
2
Advanced FunctionGraph Webhook Telegram-бот
Создание бота в Telegram требует минимальных навыков программирования. Упростить его создание можно с помощью Telegram Bot API, который предоставляет инструменты и структуру, необходимые для интеграции пользовательского кода.
В этой статье описано создание простого бессерверного бота Telegram, который повторяет все, что вводит пользователь, с помощью сервисов FunctionGraph и API Gateway.
Для настройки Telegram-бота:
Создайте telegram-бота с помощью BotFather.
См.также
Введите команду /newbot.
Дайте название боту и укажите имя пользователя.
Примечание
Название вашего бота отображается в контактной информации. Имя пользователя — это сокращенное название, которое будет использоваться в поиске, упоминаниях и ссылках t.me. Имена пользователей имеют длину от 5 до 32 символов и не чувствительны к регистру, но могут включать только латинские буквы, цифры и символы подчеркивания. Имя пользователя вашего бота должно заканчиваться на «bot», например «cloud_bot» или «CloudBot».
После создания имя пользователя изменить нельзя.
Скопируйте токен, который 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)
для Dev & Test