Используем cookie — для входа в кабинет и обезличенной статистики. Подробнее
Боты

Где разместить Telegram-бота: сервер, webhook или polling и что делать, чтобы бот не «засыпал»

30 октября 2026·12 мин чтения

Короткий ответ: Telegram не хранит и не запускает программу вашего бота — он только пересылает сообщения. Сам бот работает на чьём-то сервере, и от этого сервера зависит, отвечает ли он ночью, в праздники и после ухода разработчика. Для рабочего бота нужен постоянно включённый сервер, оформленный на вашу компанию, с базой, резервными копиями и проверкой «жив ли бот». Ноутбук разработчика и бесплатные тарифы облаков годятся только для отладки.

Где работает бот, если он «в Telegram»?

Бот — это программа на сервере, а Telegram — посредник между ней и пользователем. Клиент пишет боту, Telegram передаёт сообщение программе, программа решает, что ответить, и отправляет ответ обратно через Bot API. Выключили программу — бот в чате есть, но молчит.

Заказчики часто узнают об этом в момент первой поломки. В Telegram у бота есть имя, аватар и описание — всё это настраивается в @BotFather и хранится у Telegram. А вот логика — меню, расчёт цены, запись в таблицу, проверка оплаты — живёт там, где запущен код. Поэтому вопрос «где размещён бот» на деле значит три вопроса:

  • Где запущен код. Конкретная машина, на которой программа работает круглосуточно.
  • Где лежат данные. Заявки, подписчики, история заказов, теги для рассылок.
  • Кто за это платит и у кого доступ. Если ответ «у разработчика на его аккаунте», бот на самом деле его, а не ваш.

Токен бота — ключ, по которому программа говорит от имени бота. Сам Telegram в описании @BotFather предупреждает: с токеном ботом может управлять кто угодно, а при утечке или потере выпускают новый командой /token. Значит, токен должен знать ваш сервер и ограниченный круг людей, а не все, кто когда-то правил бота.

Какие есть варианты размещения?

На практике бот живёт в одном из шести мест: компьютер разработчика, бесплатное облако, конструктор, свой арендованный сервер (VPS), сервер сайта или CRM, серверы внутри компании. Для бота, который принимает заявки и деньги, подходят последние три.

Конструктор — отдельная история: там сервер и база принадлежат сервису, и сравнивать его надо с заказной разработкой целиком, как мы делали в статье «Конструктор Telegram-ботов или разработка на заказ». Ниже — про случаи, когда бот написан кодом и его нужно куда-то поселить.

Где может жить бот и чем рискует каждый вариант
ВариантКогда подходитГлавный риск
Ноутбук или домашний компьютер разработчикаТолько для отладки, пока бот никому не показанКрышку закрыли, пропал интернет, человек уехал в отпуск — бот молчит
Бесплатный тариф облачной платформыУчебный проект, проверка идеи на десятке знакомыхУсыпление при простое, лимиты часов и памяти, данные могут не пережить перезапуск
Конструктор ботовМеню, сбор контактов, рассылки без своей логикиСервер и база у сервиса, вы зависите от его тарифов и экспорта
Свой VPS на компаниюБольшинство рабочих ботов: заявки, запись, оплата, связка с CRMНужен кто-то, кто следит за обновлениями, местом на диске и бэкапами
Сервер, где уже работает ваш сайт или CRMБот тесно связан с этой системой и нагрузка небольшаяПадение одного тянет за собой другое; нужен отдельный процесс и свои логи
Серверы в контуре компанииТребования безопасности, внутренние данные, бот только для сотрудниковВыход в интернет для связи с Telegram всё равно нужен, его согласуют с ИТ

Webhook или polling: в чём разница?

Это два способа получать сообщения. При polling бот сам постоянно спрашивает Telegram «есть новое?», при webhook Telegram сам присылает каждое событие на адрес бота. По документации Bot API способы взаимоисключающие: включён webhook — getUpdates не работает.

Для заказчика разница сводится к требованиям к серверу и к тому, как выглядит поломка:

  • Polling работает откуда угодно, где есть выход в интернет, — даже с ноутбука за домашним роутером. Поэтому у разработчика на компьютере всё «летает», а проблемы начинаются, когда ноутбук уехал вместе с ним.
  • Webhook требует публичный адрес по HTTPS на одном из портов 443, 80, 88 или 8443. Если сервер ответил ошибкой, Telegram повторяет запрос и через разумное число попыток прекращает. Для защиты от подделанных запросов у webhook есть секретный токен: Telegram передаёт его в заголовке X-Telegram-Bot-Api-Secret-Token, и бот отбрасывает всё, что пришло без него.
  • Общее правило хранения. Необработанные события Telegram держит не дольше 24 часов. Если бот лежал полдня, после запуска он получит накопившиеся сообщения и ответит с опозданием. Если лежал выходные — часть заявок пропала без следа.

Для типичного бота заявок или записи нагрузка невелика, и выбор между способами — вопрос удобства. Webhook естественен, когда бот живёт рядом с сайтом или сервисом и HTTPS уже настроен. Polling проще, когда у бота отдельный небольшой сервер без домена. Если бот работает с большими файлами — по документации до 2000 МБ на загрузку — или webhook нужен по обычному HTTP на любом порту, есть локальный сервер Bot API. Связь с серверами Telegram ему всё равно нужна, и это уже вариант для крупных проектов.

Webhook и polling на практике
Polling (getUpdates)Webhook (setWebhook)
Кто начинает разговорБот сам регулярно спрашивает Telegram о новых событияхTelegram сам отправляет событие на адрес бота
Что нужно от сервераТолько исходящий доступ в интернетПубличный HTTPS-адрес на порту 443, 80, 88 или 8443
Домен и сертификатНе нужныНужен HTTPS-сертификат — обычно на домене; продлевается автоматически
Что видно при сбоеПроцесс остановился — события копятся у TelegramgetWebhookInfo показывает очередь и текст последней ошибки
Типичная ошибкаЗапущены две копии бота, они мешают друг другуАдрес сменили или сертификат истёк, а webhook смотрит в никуда

Бесплатный хостинг: где подвох?

Бесплатные тарифы облачных платформ созданы, чтобы попробовать платформу, а не держать на них работающий сервис. Обычные ограничения — «засыпание» при простое, лимит часов в месяц, мало памяти и диск, который очищается при перезапуске. Бот на таком тарифе может молчать, пока его не «разбудят».

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

  1. Усыпляется ли приложение без входящих запросов. Для бота на polling это значит, что он перестаёт спрашивать Telegram о новых сообщениях. Для бота на webhook — что первый ответ после паузы приходит с задержкой.
  2. Сохраняется ли диск. Если бот пишет заявки в файл или встроенную базу, а диск временный, после перезапуска данные исчезнут.
  3. Есть ли лимит часов или трафика. В конце месяца бот может просто остановиться до следующего.
  4. Можно ли оформить аккаунт на компанию и платить с её счёта. Если нет, бот висит на личном аккаунте сотрудника или разработчика.
  5. Где находятся серверы. Если бот собирает телефоны и имена клиентов, это персональные данные, и место хранения важно — подробно об этом в статье «Где хранить данные из форм по 152-ФЗ».

Посчитать экономию просто: возьмите месячную плату за младший платный сервер с официальной страницы тарифов провайдера и сравните с ценой одной потерянной заявки. Это и есть настоящая цена «бесплатного» хостинга.

Какой сервер нужен и на кого его оформить?

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

Что должно быть на сервере, кроме самого бота:

  • Автозапуск. Бот поднимается сам после перезагрузки сервера или сбоя — через системную службу или контейнер с политикой перезапуска.
  • База данных. Не файлы в папке с кодом, а отдельная база: заявки, клиенты, статусы оплат. Её проще копировать и переносить.
  • Секреты отдельно от кода. Токен бота, ключи платёжной системы и CRM лежат в настройках окружения, а не в репозитории.
  • Журналы. Логи ошибок с ротацией, чтобы они не съели весь диск.
  • Для webhook — HTTPS-сертификат (обычно на домене) с автоматическим продлением.

Оформление — по той же логике, что и для сайта: аккаунт у провайдера на компанию, оплата с её счёта, у подрядчика — отдельный пользователь или SSH-ключ, который отзывается без смены владельца. Подробности про провайдеров и доступы разобраны в статье «На кого оформлять домен и хостинг сайта». Отдельно проверьте, что сам бот создан в @BotFather на телефоне компании или руководителя: по словам Telegram, передача владения даёт новому владельцу полный контроль над ботом и необратима.

Пример размещения на своём сервере — наш мессенджер «Гонец»: он разворачивается в контуре заказчика в Docker Compose за nginx с HTTPS от Let's Encrypt, а мост в Telegram и входящие вебхуки входят в то же развёртывание. Для обычного бота схема проще, но принцип тот же: всё, от чего зависит работа, — на вашем сервере.

Нужны ли боту резервные копии?

Да, если бот хранит хоть что-то, кроме меню: заявки, подписчиков для рассылок, историю заказов. Код можно собрать заново из репозитория, а базу подписчиков — нет. Копия должна делаться автоматически, лежать вне этого сервера и хотя бы раз быть восстановлена на пробу.

Минимальный порядок для небольшого бота:

Точки проверкиНужны ли боту резервные копии?
  • ежедневная копия базы с хранением нескольких последних версий;
  • копии уходят в отдельное хранилище, не на тот же диск;
  • код — в репозитории на аккаунте компании, настройки окружения описаны в инструкции;
  • раз в квартал кто-то проверяет, что из копии реально поднимается рабочий бот.

Резервная копия, которую ни разу не восстанавливали, — это надежда, а не копия. Если бот просто пересылает заявки в CRM и сам ничего не хранит, копировать нечего — достаточно репозитория и инструкции по развёртыванию.

Как узнать, что бот упал?

Узнавать должен ответственный, а не клиент. Для этого нужны три вещи: автоматическая проверка «бот отвечает», уведомление о сбое в отдельный чат или на почту и журнал ошибок. Тогда о падении вы знаете через минуты, а не после жалобы.

Что настраивают на практике:

  • Внешняя проверка. Сервис мониторинга раз в несколько минут обращается к служебному адресу бота или проверяет, что процесс жив, и пишет, если ответа нет.
  • Состояние webhook. Метод getWebhookInfo возвращает число событий, ждущих доставки, и текст последней ошибки. Растущая очередь — верный признак, что Telegram не может достучаться до бота.
  • Уведомления об ошибках. Если бот не смог записать заявку в CRM или проверить оплату, он сам сообщает об этом в служебный чат, а клиенту показывает понятный ответ.
  • Ресурсы сервера. Место на диске, память, срок сертификата — предупреждение заранее, а не по факту.
  • Контрольная заявка. Раз в неделю менеджер проходит основной сценарий сам. Это ловит то, что не видит автоматика: например, CRM сменила поле, и заявки уходят без телефона.

Почему бот перестал отвечать: частые причины

Чаще всего бот молчит не из-за Telegram, а из-за собственного сервера: процесс упал и не поднялся, кончилось место на диске, истёк сертификат, перестала работать оплата сервера. Реже — конфликт двух копий бота или отозванный токен.

  • Сервер не оплачен. Карта на личном аккаунте бывшего сотрудника — классика.
  • Две копии бота. Разработчик запустил копию у себя для проверки, а она работает на том же токене. Копии отбирают друг у друга сообщения или одна получает ошибку конфликта.
  • Сменили адрес webhook или домен. Telegram продолжает слать события на старый адрес.
  • Выпустили новый токен через /token, а на сервере остался старый.
  • Внешний сервис ответил ошибкой. CRM, таблица или платёжная система недоступны, а бот не умеет это пережить и падает целиком.

Если бот замолчал, первым делом проверьте, оплачен ли сервер и запущен ли процесс, затем — состояние webhook и журнал ошибок. Без доступа к серверу это может сделать только тот, у кого он есть, — ещё одна причина держать доступы у себя.

Когда отдельный сервер не нужен?

Отдельный сервер не нужен, если бот собран в конструкторе, если он живёт на сервере вашего сайта или CRM и это оправдано, или если бот нужен на неделю для проверки идеи. Во всех остальных случаях это недорогая страховка.

  • Конструктор. Сервер — забота сервиса; ваша задача — экспорт подписчиков и токен на вашем аккаунте.
  • Бот как часть веб-сервиса. Если бот — уведомления личного кабинета или CRM, логично держать его рядом, но отдельным процессом со своими логами.
  • Проверка гипотезы. Тест на знакомых можно провести и на временном размещении, если потом бот переезжает на нормальный сервер, а не остаётся там «пока работает».

Типичная ошибка — оставить временное решение навсегда. Бот из учебного облака, который «пока работает», через полгода принимает заявки всей компании и падает в самый неудобный день.

Чек-лист передачи бота от разработчика

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

  1. Бот создан в @BotFather на аккаунте компании или руководителя.
  2. Токен хранится в настройках сервера, разработчик знает, как выпустить новый и где его заменить.
  3. Сервер оформлен на компанию, оплата — с её счёта, у вас есть административный доступ.
  4. Известно, как бот получает сообщения — webhook или polling — и где это настроено.
  5. База данных: где лежит, как сделать выгрузку, куда уходят резервные копии.
  6. Исходники и конфигурация — в репозитории, доступ к которому есть у вас.
  7. Инструкция: как перезапустить бота, где смотреть журнал, что делать при сбое.
  8. Доступы к CRM, таблице и платёжному кабинету — на компанию.
  9. Настроена проверка «бот жив» и понятно, кому приходят уведомления.
  10. Записано, кто отвечает за бота после окончания поддержки.

Как это устроено у нас

Хостинг бота и настройка под ключ с запуском на вашем аккаунте входят в тариф Telegram-бота — от 16 000 ₽, 1–2 дня; цену и срок фиксируем в договоре до старта. Где бот работает после запуска и кто платит за сервер дальше, записываем в ТЗ.

По прайсу вы получаете бота на вашем Telegram-аккаунте и токене, доступы к CRM или таблице и платёжному подключению, карту сценариев с инструкцией и исходники или конфигурацию для переноса. По типовому договору исполнитель передаёт результат работ и доступы (п. 3.1), а с даты полной оплаты лицензия по п. 5.2 разрешает размещать продукт на любых серверах и хостинге по вашему выбору. Исключительное право на код остаётся у исполнителя, у вас — лицензия на весь срок действия права: исходники в вашем репозитории, любой сервер, любые подрядчики. Исполнитель освобождён от НДС по п. 1 ст. 145 НК РФ.

После запуска 7 дней мелкие правки бесплатны, гарантия по договору — 30 календарных дней с даты акта. Дальше мониторинг и обновления можно передать на поддержку — от 7 900 ₽ в месяц или разово по задачам. Из чего складывается бюджет бота целиком, разобрано в статье «Сколько стоит Telegram-бот под ключ».

Короткие ответы на частые вопросы

Можно ли держать Telegram-бота на своём компьютере?

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

Что выбрать для бота: webhook или polling?

Для небольшого бота подходят оба способа. Polling проще и не требует домена с сертификатом, webhook удобен, когда бот живёт рядом с сайтом или сервисом и уже есть HTTPS-адрес. Важно другое: способ должен быть один, и за ним кто-то следит.

Сколько хранятся сообщения, если бот упал?

По документации Bot API Telegram хранит необработанные обновления не дольше 24 часов. Если бот поднимется раньше, он получит накопившиеся сообщения; через сутки они пропадут.

На кого оформлять сервер для бота?

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

Входит ли хостинг в стоимость бота у Roboweb?

Да, хостинг бота и настройка под ключ с запуском на вашем аккаунте входят в тариф Telegram-бота от 16 000 ₽. Где бот будет работать после запуска и кто платит за сервер дальше, записываем в ТЗ.

Расскажите, что должен делать ваш бот и где он работает сейчас, — подскажем, куда его поселить, и назовём цену и срок до старта.

Рассчитать проект →

Оценку срока и цены по брифу делаем бесплатно, обычно отвечаем в течение часа в рабочее время. Типовой договор — посмотреть до оплаты.

Канал Roboweb в Telegram
Разборы цен, сроков и условий договора. Без спама и продаж в личку.
Подписаться →
Обсудим вашу задачу?

Опишите, что нужно — вернёмся с оценкой срока и цены. Обычно отвечаем в течение часа в рабочее время.

Заявка отправлена

Получили — обычно отвечаем в течение часа в рабочее время. Хотите быстрее, продублируйте в WhatsApp.

Продублировать в WhatsApp или позвонить +7 933 177-00-86
Или сразу: +7 933 177-00-86 · Telegram · WhatsApp