Этот раздел — для ботов, которые размещают или запускают вашего Telegram-бота. Пока все проверенные нами варианты хостинга работают через сайт, а не внутри Telegram.
Мы ещё тестируем ботов для этой страницы. Загляните позже или предложите своего.
Мы искали среди платформ хостинга ботов, VPS-провайдеров и списков бесплатного хостинга бота в Telegram, который разворачивает, запускает или управляет вашим ботом, и проверяли каждого кандидата по t.me и его собственному сайту. Найденные платформы хостинга ботов работают через веб-панель и ссылаются только на канал новостей или чат сообщества. Единственный бот, который разворачивает серверы прямо из Telegram, принадлежит провайдеру, продающему ещё «warez»-VPS, виртуальные номера и резидентные прокси, поэтому нашим правилам он не соответствует. Бот появится здесь, когда пройдёт те же проверки, что и весь каталог.
Telegram-бот — обычная программа, которая обращается к Bot API по адресу api.telegram.org, поэтому запустить его можно на любом хостинге, если тот даёт три вещи: процесс, который не выключается, исходящий доступ в интернет и место для данных, которые переживут перезапуск. Для вебхука нужен ещё публичный HTTPS-адрес на одном из портов, которые принимает Telegram: 443, 80, 88 или 8443. Подойдёт и самоподписанный сертификат, если передать его открытую часть при вызове setWebhook. База данных на том же диске, что и код, пропадёт, если хостинг пересоберёт контейнер, — проверьте, где на самом деле лежат настройки и напоминания ваших пользователей.
Long polling подходит для небольшого VPS или домашнего компьютера: бот сам запрашивает у Telegram новые сообщения, и ни домен, ни сертификат ему не нужны. Вебхук удобен на платформах, которые запускают код на каждый запрос, например в облачных функциях; при оплате за запросы простаивающий бот ничего не стоит. Подвох — во всём, что бот должен делать сам, вроде напоминания в 9:00: функции, которая просыпается только от входящих сообщений, нужен отдельный планировщик. Смешивать режимы нельзя: пока установлен вебхук, getUpdates отвечает ошибкой — сначала вызовите deleteWebhook.
Сервису, который запускает вашего бота, нужен его токен, а токен — это полный контроль: у кого он есть, тот получает все сообщения боту и пишет от его имени. Отдавайте его только хостингу, за которым видна конкретная компания, проверьте, что сайт провайдера сам ссылается на бота или панель, которой вы пользуетесь, а после пробы, которую не продолжаете, перевыпустите токен в BotFather. Именно эту проверку пока не прошёл ни один хостинг-бот для этого раздела.
Для long polling (getUpdates) хватит любого компьютера с интернетом, даже домашнего, но бот отвечает, только пока он включён. Вебхуку нужен публичный HTTPS-адрес: VPS, хостинг или облачная функция, которая запускается на каждый запрос.
Бот останется в Telegram, но замолчит: команды без ответа, напоминания и рассылки не уйдут. Входящие обновления Telegram хранит до 24 часов, так что после быстрого перезапуска бот получит накопившееся, а более старое пропадёт.
Держите токен в переменной окружения или хранилище секретов на сервере, а не в коде и не в репозитории. Если он утёк, перевыпустите его в @BotFather: старый токен сразу перестанет работать, а новый останется прописать на сервере.
Токен и username не меняются: перенесите код и базу данных, а старую копию остановите до запуска новой. Два процесса с одним токеном на getUpdates мешают друг другу и получают ошибку 409 Conflict, а вебхук работает только по последнему установленному адресу.