Что такое polling (getUpdates/long polling) и как он работает
Polling — это когда бот сам периодически запрашивает обновления у серверов Telegram методом getUpdates. Long polling держит соединение открытым до 30–60 секунд. Бот запускается на любом компьютере или сервере: публичный IP и HTTPS не нужны. Это самый простой способ для первого бота. Минус — постоянные запросы расходуют трафик.
Что такое webhook в Telegram Bot API и как он работает
Webhook — обратный подход. Вы один раз вызываете setWebhook с URL сервера, после чего Telegram начинает отправлять обновления сам через POST-запросы. Сервер должен отвечать кодом 200, иначе Telegram повторяет отправку. Работает только по HTTPS. Подробная инструкция по запуску бота на сервере есть в статье Как запустить Telegram-бота на сервере.
Ключевые технические различия между polling и webhook
Основная разница: при polling бот сам тянет данные, при webhook Telegram их толкает.
| Параметр | Polling | Webhook |
|---|---|---|
| Направление | Бот → Telegram | Telegram → Бот |
| HTTPS | Не нужен | Обязателен |
| Порты | Любые | 443, 80, 88, 8443 |
| Одновременное использование | Невозможно | Невозможно |
| Нагрузка на сервер | Выше | Ниже |
| Подходит для | Тестов, домашнего ПК | Продакшена |
Когда лучше использовать polling, а когда webhook
Polling выбирают новички и для разработки: не нужно настраивать сервер и SSL. Он подходит, если бот работает на домашнем компьютере. Webhook лучше для реальной работы: меньше задержек, экономит ресурсы и проще масштабировать. Переходите на него, когда бот готов и нужен стабильный хостинг. Поможет выбрать вариант статья Хостинг для Telegram-бота.
Ограничения Bot API: частота отправки сообщений и обработка обновлений
Telegram ограничивает скорость рассылки. Нельзя отправлять больше 30 сообщений в секунду всем пользователям и больше 1 сообщения в секунду в один чат. При превышении бот получает ошибку 429. Официальная документация рекомендует использовать очереди и sleep. Актуальные лимиты всегда смотрите в https://core.telegram.org/bots/faq#my-bot-is-hitting-limits-how-do-i-avoid-this.
Требования к серверу и хостингу для webhook
Для webhook обязателен валидный SSL-сертификат и один из портов: 443, 80, 88 или 8443. Telegram принимает только сертификаты, выданные доверенными центрами сертификации. Большинство облачных платформ легко настраиваются под эти требования. Список проверенных провайдеров есть в статье Выбор VPS для Telegram-бота.
Минимальные требования к серверу для простого Telegram-бота
Простому боту на aiogram или python-telegram-bot обычно хватает самого маленького VPS с 1 ядром и 1 ГБ памяти. Больше нужно при обработке видео, ИИ-моделях и тысячах одновременных пользователей. Это подтверждено опытом эксплуатации.
Как безопасно хранить токен бота
Никогда не пишите токен прямо в коде и не коммитьте его в Git. Используйте переменные окружения или файл .env, добавленный в .gitignore. На сервере права на этот файл должны быть минимальными. Правильную работу с секретами показывают в статье Как запустить Telegram-бота в Docker.
Автоматический перезапуск бота при сбоях
Самый надёжный способ — systemd. Создайте unit-файл с параметром Restart=always. В Docker используйте restart: unless-stopped в compose-файле. Оба варианта перезапустят бот после падения или перезагрузки сервера. Подробно описано в статье Автозапуск бота через systemd.
Можно ли одновременно использовать polling и webhook
Нет, нельзя. Если установлен webhook, getUpdates перестанет возвращать обновления. Чтобы переключиться, сначала вызовите deleteWebhook. Это прямо указано в официальной документации.
Преимущества и недостатки бесплатных вариантов запуска бота
Бесплатные варианты (свой компьютер, бесплатные уровни облаков) подходят только для тестов. Компьютер должен быть постоянно включён, а бесплатные тарифы часто имеют лимиты и «засыпают».
Выбор дата-центра: российские vs зарубежные серверы
Российские дата-центры проще по оплате российской картой. Зарубежные серверы часто дают более стабильный доступ к API Telegram и зарубежным сервисам. Выбор зависит от аудитории и способа оплаты. Хороший вариант для зарубежного сервера — статья VPS за границей с оплатой картой РФ.
Таблица сравнения polling и webhook (актуально на 2026 год)
| Критерий | Polling | Webhook | Рекомендация |
|---|---|---|---|
| Направление | Бот запрашивает | Telegram отправляет | Webhook в продакшене |
| HTTPS | Не требуется | Обязателен | — |
| Разрешённые порты | Любые | 443, 80, 88, 8443 | Только webhook |
| Задержка | Выше | Ниже | Webhook |
| Нагрузка на сеть | Выше | Ниже | Webhook |
| Подходит для разработки | Да | Сложнее | Polling сначала |
Минимальная конфигурация VPS для Telegram-бота
Простому боту на aiogram без ИИ хватает 1 ядра и 1 ГБ RAM. Больше ресурсов требуется при обработке видео, ИИ-моделях и тысячах одновременных пользователей. Это подтверждено опытом эксплуатации.