Бот, собранный в конструкторе или написанный с помощью нейросети, обычно работает ровно до того момента, пока запущена программа на вашем компьютере. Чтобы он отвечал круглосуточно, код должен крутиться на машине, которая не выключается, и подниматься сам после сбоя. Ниже: почему бот замолкает, чем отличается вебхук от опроса, куда залить бота (включая бесплатные варианты с цифрами), как настроить автозапуск и как чинить типовые ошибки, включая 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.
- Подключитесь к серверу по SSH и поставьте окружение: Python или Node.js нужной версии, зависимости проекта.
- Залейте код: git clone из вашего репозитория. Токен держите не в коде, а в переменной окружения или в файле .env, который в репозиторий не попадает.
- Запустите бота руками и напишите ему в Telegram. Убедитесь, что он отвечает. Пока этот шаг не пройден, автозапуск настраивать рано.
- Опишите бота как systemd-сервис: файл в /etc/systemd/system/mybot.service с секцией [Service], где указаны рабочая папка, команда запуска и параметры Restart=always и RestartSec=5. Тогда система сама поднимет процесс после любого падения, поведение описано в документации systemd.
- Включите автозагрузку: systemctl enable
--nowmybot. Теперь бот стартует и после перезагрузки сервера. - Смотрите логи командой 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.
На бесплатном вебинаре по вайбкодингу показываем полный путь: как собрать бота с помощью нейросети, выложить его на сервер и настроить так, чтобы он работал без вашего участия.
Записаться на вебинар