Боты и автоматизация2026-07-217 минРедакция Submarine School

Как сделать, чтобы бот работал круглосуточно: хостинг и запуск 2026

Как сделать, чтобы бот работал круглосуточно: хостинг и запуск 2026

Бот, собранный в конструкторе или написанный с помощью нейросети, обычно работает ровно до того момента, пока запущена программа на вашем компьютере. Чтобы он отвечал круглосуточно, код должен крутиться на машине, которая не выключается, и подниматься сам после сбоя. Ниже: почему бот замолкает, чем отличается вебхук от опроса, куда залить бота (включая бесплатные варианты с цифрами), как настроить автозапуск и как чинить типовые ошибки, включая 409 Conflict и отозванный токен.

Почему бот перестаёт отвечать, когда вы закрыли ноутбук

Токен от BotFather сам по себе ничего не запускает. Токен, это только ключ доступа к Telegram Bot API. Логика (что ответить на /start, куда записать заявку) живёт в вашей программе. Пока эта программа не работает, серверы Telegram копят сообщения, а отвечать на них некому.

Отсюда три типовые ситуации:

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

Если вы делали бота через готовую платформу, как в разборе способов создать бота в Telegram, проблема аптайма закрыта за вас. Если бот, это ваш собственный код, дальше его нужно куда-то поселить.

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

Собрать своего бота

Long polling и вебхук: два способа доставки сообщений

Telegram отдаёт сообщения боту двумя способами, и в документации Bot API прямо сказано, что они взаимоисключающие.

  • Long polling (метод getUpdates). Ваша программа сама постоянно спрашивает Telegram: есть новые сообщения? Плюс: работает откуда угодно, даже с домашнего компьютера, не нужен домен и сертификат. Минус: программа обязана крутиться непрерывно.
  • Вебхук (метод setWebhook). Вы один раз сообщаете Telegram адрес вашего сервера, и он сам присылает туда каждое новое сообщение. Плюс: нет холостых запросов, подходит для serverless-функций, которые просыпаются только на входящее событие. Минус: нужен публичный HTTPS-адрес с валидным сертификатом.

Важная деталь, из-за которой ломаются половина запусков: включить оба режима сразу нельзя. Пока установлен вебхук, getUpdates не работает. Чтобы вернуться к опросу, вебхук нужно снять методом deleteWebhook. Для первого бота проще начать с long polling, а на вебхук переходить, когда нагрузка выросла или вы хотите бесплатный serverless.

По теме: Как сделать рассылку в боте Telegram в 2026: база, лимиты, код

Куда залить бота: варианты и цены

Задача одна: получить машину, которая работает 24/7 и имеет доступ в интернет. Вариантов несколько, и они сильно отличаются по цене и по количеству возни.

  • Serverless (Yandex Cloud Functions). Работает по вебхуку: функция просыпается на каждое сообщение. Каждый месяц не тарифицируются первые 1 000 000 вызовов функций и 10 ГБ×час выполнения, это условия free tier Yandex Cloud. Боту с сотнями сообщений в день лимита хватает, но платёжный аккаунт привязать придётся.
  • VPS в России. Обычный виртуальный сервер, полный контроль, оплата рублёвой картой. У Timeweb Cloud начальная конфигурация облачного сервера в Москве (2 ядра, 2 ГБ RAM, 40 ГБ NVMe) стоит 882 ₽ в месяц при оплате за год. Для одного бота это с большим запасом.
  • PaaS-платформы для ботов, например Amvera Cloud: вы отправляете код через git push, а платформа сама собирает и запускает приложение. Меньше настройки сервера, но меньше и контроля.
  • Зарубежный VPS. У Hetzner тариф CX22 стоит около 4,35 € в месяц, но с начала 2024 года Hetzner официально прекратил обслуживание клиентов с российским адресом, и дело не только в способе оплаты: перед регистрацией уточните актуальные условия провайдера.
  • Свой мини-сервер: старый ноутбук или одноплатник дома. Стоит только электричества, но аптайм равен аптайму вашего роутера и электросети.

Какой бы вариант вы ни выбрали, первым делом проверьте с сервера доступность API: запрос вида api.telegram.org/bot{ваш_токен}/getMe должен вернуть данные бота. Если он не проходит, дело не в коде, а в сети или регионе площадки, и дальше настраивать бессмысленно.

Дальше выбор простой: читать про ботов или собрать своего. Второе занимает вечер, если рядом показывают шаги. На бесплатном эфире по вайбкодингу собирают бота и ИИ-агента с нуля, участникам отдают гайд.

Собрать бота с ИИ

Автозапуск: чтобы бот поднимался сам

Просто запустить программу по SSH мало: закроете сессию, и процесс умрёт вместе с ней. Нужен системный сервис, который стартует при загрузке и перезапускается после падения. На Linux это делает systemd.

  1. Подключитесь к серверу по SSH и поставьте окружение: Python или Node.js нужной версии, зависимости проекта.
  2. Залейте код: git clone из вашего репозитория. Токен держите не в коде, а в переменной окружения или в файле .env, который в репозиторий не попадает.
  3. Запустите бота руками и напишите ему в Telegram. Убедитесь, что он отвечает. Пока этот шаг не пройден, автозапуск настраивать рано.
  4. Опишите бота как systemd-сервис: файл в /etc/systemd/system/mybot.service с секцией [Service], где указаны рабочая папка, команда запуска и параметры Restart=always и RestartSec=5. Тогда система сама поднимет процесс после любого падения, поведение описано в документации systemd.
  5. Включите автозагрузку: systemctl enable --now mybot. Теперь бот стартует и после перезагрузки сервера.
  6. Смотрите логи командой journalctl -u mybot -f. Это первое место, куда идти, когда бот замолчал.

Альтернатива для тех, кто работает с контейнерами: запустить бота в Docker с политикой перезапуска unless-stopped, эффект тот же.

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

По теме: Как сделать бот-приложение в Telegram: мини-приложение с ИИ 2026

Бот молчит, дублирует ответы, ловит 409: разбор ошибок

409 Conflict: terminated by other getUpdates request. Самая частая ошибка при переезде на сервер. Один и тот же токен опрашивают два процесса: например, старый бот всё ещё крутится на ноутбуке, а новый уже запущен на сервере. Второй вариант: у бота установлен вебхук, а вы параллельно запустили опрос. Лечение: остановить лишний процесс, а при переходе на polling снять вебхук методом deleteWebhook.

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

Бот молчит, а ошибок в логах нет. Если вы на вебхуке, запросите getWebhookInfo: в ответе есть поле с последней ошибкой доставки. Обычно там видно честную причину, например невалидный сертификат или отвечающий ошибкой сервер. Если вы на polling, значит процесс просто не запущен, смотрите статус сервиса.

401 Unauthorized: токен отозван. Токен перестаёт работать сразу после того, как вы перевыпустили его в BotFather. Впишите новый токен в переменную окружения и перезапустите сервис. Заодно проверьте, не лежит ли старый токен в публичном репозитории: утёкшим токеном может пользоваться кто угодно.

В личке отвечает, в группе молчит. Это не сбой, а режим приватности: по умолчанию бот в группе видит только команды, адресованные ему. Режим переключается в настройках бота у BotFather, подробнее про права мы разбирали в материале про бота для группы.

Что выбрать под свою задачу

  • Бот для себя или для теста идеи: long polling плюс самый дешёвый VPS. Меньше всего движущихся частей.
  • Бот для клиентов, где важна каждая заявка: вебхук, VPS с оплатой в рублях, systemd с перезапуском.
  • Бот с редкими всплесками сообщений: serverless по вебхуку, вы платите только за фактические вызовы.

Здесь мы говорили про инфраструктуру: чтобы программа физически была запущена. Что именно бот отвечает, это другой слой, он разбирается в статьях про настройку ответов бота и подключение нейросети к боту.

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

Можно ли сделать, чтобы бот работал без компьютера?

Да, именно для этого код и переносят на сервер. После настройки автозапуска ваш компьютер участвует только в моменты, когда вы правите код и выкладываете обновление.

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

Для long polling нет, боту достаточно исходящего доступа в интернет. Для вебхука да: Telegram доставляет сообщения только по HTTPS, поэтому нужен адрес с валидным сертификатом. У serverless-платформ такой адрес выдаётся вместе с функцией.

Хватит ли 1 ГБ оперативной памяти?

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

Реально ли держать бота онлайн бесплатно?

На небольших объёмах да, за счёт бесплатных лимитов serverless-платформ. Но бесплатный тариф почти всегда требует привязанной карты и не даёт гарантий по времени ответа. Для бота, на котором висят деньги или заявки, дешевле взять недорогой VPS и спать спокойно.

Как обновлять бота, не ломая работу?

Выложите новый код на сервер и перезапустите сервис одной командой. Пауза составит секунды, сообщения за это время Telegram сохранит и доставит после старта. Главное правило: не запускать новую версию, не остановив старую, иначе получите тот самый 409.

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

Записаться на вебинар
Разборы, кейсы и фишки вайбкодинга каждую неделю в телеграм-канале «Яков вайбкодит».
Первый проект с ИИ: живой разбор, бесплатно Занять место