RouteHook: Telegram Bot API relay для стабильной работы бота
RouteHook ставится между Telegram и вашим сервером: сохраняет текущий webhook, выдает персональный Bot API URL и помогает боту работать стабильнее без переписывания webhook-кода.

Если у вас уже есть Telegram-бот, скорее всего, вокруг него давно сложилась простая рабочая схема: Telegram отправляет updates на ваш webhook, а ваш код отвечает пользователям через Bot API.
Проблемы начинаются, когда прямые запросы к Bot API становятся нестабильными: где-то не проходит исходящее соединение, где-то серверное окружение ведет себя по-разному, где-то хочется добавить понятную инфраструктурную прослойку без переезда всего проекта.
RouteHook решает именно эту задачу. Это Telegram Bot API relay на Cloudflare Workers.
Начать подключение можно прямо в Telegram: @RouteHookBot.
Как это работает
RouteHook ставится между Telegram и вашим сервером:
Telegram -> RouteHook -> ваш webhook
Для исходящих запросов к Bot API вы используете персональный relay URL:
https://routehook.ipcfg.com/<public_id>/bot<TOKEN>/<method>
То есть вместо:
https://api.telegram.org/bot<TOKEN>/sendMessage
вызываете:
https://routehook.ipcfg.com/<public_id>/bot<TOKEN>/sendMessage
Остальная логика бота остается прежней.
Что обычно не нужно менять
Если у бота уже есть рабочий webhook, его код можно не трогать. При подключении RouteHook сам проверит текущий webhook и предложит оставить его.
В этом режиме схема выглядит так:
Telegram отправляет update в RouteHook
RouteHook проверяет внутренний secret
RouteHook пересылает update на ваш текущий webhook
ваш сервер обрабатывает update как раньше
Вам не нужно добавлять SDK, переносить проект, подключать npm-пакеты или переписывать обработчики.
Когда подойдет API-only
Иногда бот не принимает входящие updates через webhook, а только отправляет сообщения: уведомления, алерты, служебные отчеты, сообщения из CRM или админки.
Для такого сценария есть API-only режим. RouteHook не назначает webhook и выдает только Bot API relay URL.
Что делает RouteHook с безопасностью
RouteHook не хранит тела updates и тексты сообщений. Bot token нужен для настройки relay, но не показывается обратно в интерфейсе.
На участке Telegram -> RouteHook используется внутренний secret. На участок RouteHook -> ваш webhook можно дополнительно добавить свой заголовок:
X-RouteHook-Secret
Это необязательно для обычного подключения, но полезно, если ваш webhook хочет принимать запросы только от RouteHook.
Как подключиться
- Откройте бота RouteHook в Telegram.
- Купите relay для одного бота.
- Отправьте bot token вашего Telegram-бота.
- Если webhook уже найден, выберите
Оставить текущий webhook. - Получите персональный
API base URL. - Замените
https://api.telegram.orgв своем коде на выданный URL.
После подключения можно проверить состояние командой:
/checkbot <public_id>
Она покажет текущий Telegram webhook, количество pending updates и подскажет, где искать проблему, если бот не отвечает.
Для кого это
RouteHook подойдет небольшим и средним Telegram-ботам, которые уже работают на PHP, Node.js, Python или любом другом backend, и которым нужен простой relay без переезда проекта.
Главная идея простая: оставить webhook как есть, заменить базовый адрес Bot API и продолжить работу.
Попробовать RouteHook можно через Telegram-бота: @RouteHookBot.
Comments
Sign in to comment.
No comments yet.