Коротко. Боту, который отвечает пользователям, нужен сервер, работающий круглые сутки. Проще всего взять VPS: на 19.10.2026 самый дешёвый, что мы нашли, стоит 560,57 ₽ в месяц у Рег.облака. Если бот только присылает уведомления по расписанию, сервер не нужен: наш бот работает на бесплатных роботах GitHub.

Чем бот отличается от сайта

Сайт просыпается, когда кто-то открывает страницу. Бот должен быть на связи всё время: ему пишут в любой момент, и Telegram ждёт ответа. Получать сообщения бот может двумя способами, и от способа зависит, какой хостинг подойдёт.

Polling (getUpdates). Программа бота сама раз за разом спрашивает у Telegram, нет ли новых сообщений. Ей нужен процесс, который работает без остановки. Так устроено большинство примеров в учебниках.

Webhook. Бот сообщает Telegram свой адрес, и Telegram сам присылает каждое сообщение на этот адрес. Боту не нужно работать постоянно, но нужен адрес с HTTPS. Telegram принимает вебхуки только на портах 443, 80, 88 и 8443.

Способы взаимоисключающие: включён либо один, либо другой. Если бот недоступен, Telegram хранит новые сообщения, но не дольше 24 часов.

Где запустить бота

ВариантПодходит дляЦенаСложность
VPSлюбого ботаот 560,57 ₽ в месяцнужно настроить сервер
Облачная платформа для приложенийбота в Docker-контейнереот 1 ₽ в месяц, по данным Timewebсредняя
Обычный хостингпростого бота на вебхуке (PHP или Python)от цены тарифазависит от хостинга
Роботы GitHub Actionsуведомлений по расписаниюбесплатно в пределах лимитанизкая

VPS

Свой виртуальный сервер, на котором можно запускать что угодно. Бот работает как обычная программа и не зависит от ограничений хостинга. Минус: сервер нужно настроить и обновлять самому.

Самые дешёвые тарифы на страницах провайдеров, 19.10.2026:

ПровайдерТарифРесурсыЦена
Рег.облакоHP C1-M1-D101 ядро, 1 ГБ, 10 ГБ NVMe560,57 ₽ в месяц, 0,77 ₽ в час
Begetмладший фиксированный2 ядра, 2 ГБ, 30 ГБ NVMe27 ₽ в день + 5 ₽ в день за IPv4, около 960 ₽ за 30 дней
Timeweb CloudMSK Ultra 151 ядро 3,3 ГГц, 1 ГБ, 15 ГБ NVMe1 920 ₽ в месяц

Условия, которые стоит знать:

  • У Рег.облака почасовая оплата, минимальный платёж 100 ₽. Входит ли в цену публичный IP-адрес, на странице тарифов мы не нашли: проверьте при заказе.
  • У Beget оплата посуточная, публичный IPv4 оплачивается отдельно. Бесплатно к каждому серверу идут автобэкапы и мониторинг с уведомлениями в Telegram. В каталоге готовых приложений есть Docker.
  • У Timeweb Cloud почасовая оплата, минимальный платёж 500 ₽. На странице видна только московская линейка Ultra. Бонусы для теста начисляет поддержка по запросу, сумму они не называют.

Для простого бота хватает самого младшего тарифа: 1 ядро и 1 ГБ памяти. Больше нужно, если бот работает с базой данных на тысячи пользователей, обрабатывает файлы или обращается к нейросетям.

Облачная платформа для приложений

Вы отдаёте платформе код из GitHub, она сама собирает и запускает его. Сервер настраивать не нужно. У Timeweb Cloud такая услуга называется App Platform: цена «от 1 ₽ в месяц», поддерживается Dockerfile, есть образы Node.js. Python и Telegram-боты на странице прямо не упомянуты, а docker-compose сервис пока не читает. Бот на Python можно запустить через свой Dockerfile, но мы этого не проверяли.

Обычный хостинг

На виртуальном хостинге долгие процессы обычно не разрешены, поэтому бот на polling там не живёт. Бот на вебхуке можно сделать обычным скриптом, который хостинг запускает при каждом сообщении: например, PHP-файлом на сайте с HTTPS. Получается дёшево, если хостинг уже оплачен под сайт. Перед покупкой уточните у поддержки, поддерживает ли тариф нужную версию Python или PHP и можно ли запускать скрипты по расписанию (cron).

Многие рейтинги «хостинга для ботов» на деле перечисляют тарифы обычного виртуального хостинга. Смотрите, что именно вы покупаете: VPS или место под сайт.

Наш опыт: бот без сервера

У нашего проекта есть бот, который присылает владельцу уведомления: например, что домен заработал или что на сайтах провайдеров изменились цены. Сервера у него нет. Сообщения отправляют роботы GitHub Actions: по расписанию они проверяют нужное и вызывают метод sendMessage Telegram. Это бесплатно в пределах лимита GitHub.

Такой способ подходит только для ботов, которые пишут сами и не отвечают на сообщения. Если бот должен реагировать на команды пользователей, нужен один из вариантов выше.

Как запустить бота на VPS

  1. Создайте бота у @BotFather в Telegram и сохраните токен.
  2. Закажите VPS с Ubuntu и подключитесь к нему по SSH.
  3. Установите Python или Node.js и скопируйте код бота на сервер, удобнее всего через Git.
  4. Храните токен в переменной окружения или отдельном файле, а не в коде. Если токен попал в открытый доступ, перевыпустите его у @BotFather командой /revoke.
  5. Запустите бота как службу systemd или в Docker-контейнере, чтобы он сам поднимался после перезагрузки сервера.
  6. Настройте обновления системы и бэкапы: на VPS за это отвечаете вы.

Чек-лист перед оплатой

  • Вы покупаете VPS, а не тариф виртуального хостинга под сайты.
  • Понятна итоговая цена за месяц: с IP-адресом и при выбранном способе оплаты (почасовой, посуточной или помесячной).
  • Сервер в России, если бот хранит персональные данные пользователей из России.
  • Есть бэкапы или вы настроите их сами.

Читайте также

Источники

Частые вопросы

Можно ли запустить Telegram-бота на обычном хостинге?

Иногда. Бот, который постоянно опрашивает Telegram (polling), должен работать без остановки, а виртуальный хостинг обычно не держит такие процессы. Бот на вебхуках можно разместить как обычный PHP- или Python-скрипт, если хостинг поддерживает нужный язык и у сайта есть HTTPS. Надёжнее и проще VPS.

Сколько стоит сервер для Telegram-бота?

Самый дешёвый VPS, который мы нашли на 19.10.2026: Рег.облако за 560,57 ₽ в месяц (1 ядро, 1 ГБ памяти). У Beget младший VPS стоит 27 ₽ в день плюс 5 ₽ в день за IP-адрес, около 960 ₽ за 30 дней. У Timeweb Cloud в Москве от 1 920 ₽ в месяц.

Нужен ли боту домен и SSL-сертификат?

Для polling не нужны. Для вебхука нужен адрес с HTTPS: Telegram отправляет обновления только на порты 443, 80, 88 и 8443. Можно использовать и самоподписанный сертификат, загрузив его при настройке вебхука.