Хостинг для Telegram ботов
Хостинг Telegram-ботов в РФ: aiogram, telegraf, grammY, pyTelegramBotAPI. Работа 24/7, деплой из Git, оплата в рублях, бесплатный тариф для старта.
Автодеплой из Git
Платформа сама скачает код с Репозитория, соберет проект и запустит его.
Готовая среда
Не нужно настраивать Nginx или Linux. Под капотом надежные серверы RelaxDev.
Свои домены и SSL
Привяжите свой домен в 1 клик, а платформа автоматически выпустит Let's Encrypt SSL.
Telegram-боту нужен процесс, работающий постоянно, — обычный виртуальный хостинг для этого не подходит, а держать ради бота отдельный VPS дорого и хлопотно. RelaxDev запускает бота как долгоживущий контейнер: он поднимается после деплоя, переживает перезапуски и автоматически стартует заново при сбое.
Поддерживаются оба режима работы: long polling (проще, ничего настраивать не нужно) и webhook (быстрее реагирует, требует HTTPS-адреса — платформа выдаёт его автоматически). Токен бота хранится в переменных окружения и не попадает в репозиторий.
Как задеплоить Telegram ботов?
1. Получите токен у BotFather
Создайте бота командой /newbot в BotFather и сохраните токен. В код его вписывать нельзя — он попадёт в git-историю, и бот придётся перевыпускать.
2. Подключите репозиторий
Выберите репозиторий с ботом и ветку. Платформа определит стек по requirements.txt или package.json и подберёт команду запуска.
3. Добавьте токен в переменные окружения
Задайте BOT_TOKEN в настройках проекта и читайте его из окружения. Там же хранятся ключи внешних API и строка подключения к базе.
# aiogram (Python)
import os
from aiogram import Bot, Dispatcher
bot = Bot(token=os.environ['BOT_TOKEN'])
dp = Dispatcher()
// telegraf (Node.js)
const bot = new Telegraf(process.env.BOT_TOKEN);
bot.launch();4. Выберите polling или webhook
Для polling дополнительная настройка не нужна — бот сам опрашивает Telegram. Для webhook укажите Telegram адрес проекта: платформа уже отдаёт валидный HTTPS-сертификат, который требует Telegram API.
# webhook: адрес проекта уже под HTTPS
await bot.set_webhook(f"https://ваш-домен.ru/webhook")
# приложение слушает 0.0.0.0 и порт из переменной PORTСравнение платформ
| Платформа | Статус | Оплата |
|---|---|---|
| Heroku | Не работает с РФ | Бесплатный тариф закрыт |
| Обычный VPS | Работает | Настройка и обслуживание вручную |
| Railway | Доступен частично | Нужна зарубежная карта |
| RelaxDev | Серверы в РФ | Рубли, есть бесплатный тариф |
Раньше типовым выбором для ботов был бесплатный тариф Heroku — сейчас он закрыт, а оплата российской картой невозможна. Альтернатива в виде VPS требует самостоятельной настройки systemd, автозапуска и мониторинга. Платформа закрывает это деплоем из репозитория.
Частые ошибки и решения
Бот отвечает дважды на каждое сообщение
Запущено два экземпляра — например, старый процесс на VPS и новый на платформе, оба в режиме polling. Telegram отдаёт апдейты обоим. Остановите лишний экземпляр.
Conflict: terminated by other getUpdates request
Та же причина: один токен используется двумя процессами одновременно. Убедитесь, что старый деплой остановлен, а если переходите на webhook — сначала удалите его или отключите polling.
Бот перестаёт отвечать через некоторое время
Процесс завершился из-за необработанного исключения в обработчике. Оберните обработчики в try/except и включите логирование — логи контейнера видны в панели проекта.
Webhook не устанавливается
Telegram принимает только HTTPS с валидным сертификатом и стандартным портом. Используйте адрес проекта, выданный платформой, и убедитесь, что приложение слушает порт из переменной PORT.
FAQ
Будет ли бот работать круглосуточно?
Да, контейнер работает постоянно и автоматически перезапускается при падении процесса или обновлении проекта.
Можно ли хостить бота бесплатно?
Для старта и небольших ботов доступен бесплатный тариф. При росте нагрузки проект переводится на платный, оплата в рублях.
Как хранить данные пользователей бота?
Через базу данных: файловая система контейнера обнуляется при пересборке, поэтому SQLite-файл внутри контейнера для продакшена не подходит.
Polling или webhook — что выбрать?
Polling проще и достаточен для большинства ботов. Webhook быстрее реагирует и экономнее при высокой нагрузке — платформа выдаёт нужный для него HTTPS-адрес автоматически.
Поддерживаются ли платежи и inline-режим?
Да, ограничений со стороны платформы нет — доступна вся функциональность Telegram Bot API, включая платежи, inline-режим и Mini Apps.