На данный момент триггеры Telegram в виде триггеров приложений работают не мгновенно, что зачастую критично — особенно, если речь идет о чат-ботах, где скорость отклика максимально важна.
Поэтому делюсь гайдом по настройке триггеров Telegram через WebHook, что полностью исключает любые проблемы с задержками.
Процесс настройки WebHook
Для начала добавьте в ваш сценарий узел Trigger on Webhook.
В нем есть две версии WebHook:
- Dev (для разработки и тестирования)
- Prod (для автономной работы)
Скопируйте адрес прод-версии WebHook для дальнейшей работы.
После этого сценарий необходимо задеплоить, чтобы PROD WebHook стал активным.
Теперь добавьте узел HTTP-запрос.
Чтобы настроить WebHook, выполните GET-запрос по следующему URL:
https://api.telegram.org/bot{my_bot_token}/setWebhook?url={url_to_send_updates_to}
Просто вставьте этот адрес в поле URL и замените переменные:
Где:
{my_bot_token}
— токен вашего бота из BotFather{url_to_send_updates_to}
— адрес вашего прод WebHook
После отправки запроса успешный ответ будет выглядеть так:
Проверка настройки WebHook
Чтобы убедиться, что WebHook работает, отправьте второй запрос:
https://api.telegram.org/bot{my_bot_token}/getWebhookInfo
Пример успешного ответа:
{
"ok": true,
"result": {
"url": "https://www.example.com/my-telegram-bot/",
"has_custom_certificate": false,
"pending_update_count": 0,
"max_connections": 40
}
}
Этот метод позволяет обрабатывать обновления Telegram-бота автоматически через WebHook, а не вручную через опрос API.
Теперь ваш прод WebHook будет получать обновления от Telegram.
Обратите внимание: Telegram отправляет ВСЕ обновления, включая обновления сообщений и другие события. Поэтому рекомендуется настроить более гибкую фильтрацию. На старших тарифах запросы, остановленные первым фильтром, практически бесплатны.