# Webhook или polling в Telegram-ботах: что выбрать

> Webhook и polling — два способа получать обновления от Telegram. Polling — бот сам периодически спрашивает сервер через getUpdates. Webhook — Telegram сам отправляет данные на ваш сервер по HTTPS. Эти методы нельзя использовать одновременно. Для большинства ботов webhook удобнее и экономит ресурсы, но требует публичного HTTPS-сервера.

Canonical: https://hosting-bota.ru/webhook-ili-polling/
Updated: 2026-10-10

## Коротко

В Telegram Bot API существует два основных способа получения обновлений: polling через getUpdates и webhook. Polling подразумевает, что бот регулярно отправляет запросы к серверам Telegram. Webhook работает наоборот — вы указываете URL, и Telegram отправляет POST-запросы с обновлениями. Эти методы нельзя использовать одновременно. Webhook поддерживает только HTTPS и порты 443, 80, 88, 8443. Для простого бота на aiogram или python-telegram-bot достаточно VPS с 1 ядром и 1 ГБ RAM. Токен нужно хранить в переменных окружения. Bot API ограничивает рассылку: примерно 30 сообщений в секунду всем пользователям и 1 сообщение в секунду в один чат. Выбор зависит от сценария: polling проще для разработки и тестов, webhook лучше для продакшена.

## Что такое 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-бота на сервере](https://hosting-bota.ru/zapusk-bota-na-vps/).

## Ключевые технические различия между polling и webhook

Основная разница: при polling бот сам тянет данные, при webhook Telegram их толкает. 

| Параметр | Polling | Webhook |
|----------|---------|---------|
| Направление | Бот → Telegram | Telegram → Бот |
| HTTPS | Не нужен | Обязателен |
| Порты | Любые | 443, 80, 88, 8443 |
| Одновременное использование | Невозможно | Невозможно |
| Нагрузка на сервер | Выше | Ниже |
| Подходит для | Тестов, домашнего ПК | Продакшена |

## Когда лучше использовать polling, а когда webhook

Polling выбирают новички и для разработки: не нужно настраивать сервер и SSL. Он подходит, если бот работает на домашнем компьютере. Webhook лучше для реальной работы: меньше задержек, экономит ресурсы и проще масштабировать. Переходите на него, когда бот готов и нужен стабильный хостинг. Поможет выбрать вариант статья [Хостинг для Telegram-бота](https://hosting-bota.ru/hosting-dlya-tele-gram-bota/).

## Ограничения 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-бота](https://hosting-bota.ru/vps-dlya-bota/).

## Минимальные требования к серверу для простого Telegram-бота

Простому боту на aiogram или python-telegram-bot обычно хватает самого маленького VPS с 1 ядром и 1 ГБ памяти. Больше нужно при обработке видео, ИИ-моделях и тысячах одновременных пользователей. Это подтверждено опытом эксплуатации.

## Как безопасно хранить токен бота

Никогда не пишите токен прямо в коде и не коммитьте его в Git. Используйте переменные окружения или файл .env, добавленный в .gitignore. На сервере права на этот файл должны быть минимальными. Правильную работу с секретами показывают в статье [Как запустить Telegram-бота в Docker](https://hosting-bota.ru/bot-v-docker/).

## Автоматический перезапуск бота при сбоях

Самый надёжный способ — systemd. Создайте unit-файл с параметром Restart=always. В Docker используйте restart: unless-stopped в compose-файле. Оба варианта перезапустят бот после падения или перезагрузки сервера. Подробно описано в статье [Автозапуск бота через systemd](https://hosting-bota.ru/avtozapusk-bota-systemd/).

## Можно ли одновременно использовать polling и webhook

Нет, нельзя. Если установлен webhook, getUpdates перестанет возвращать обновления. Чтобы переключиться, сначала вызовите deleteWebhook. Это прямо указано в официальной документации.

## Преимущества и недостатки бесплатных вариантов запуска бота

Бесплатные варианты (свой компьютер, бесплатные уровни облаков) подходят только для тестов. Компьютер должен быть постоянно включён, а бесплатные тарифы часто имеют лимиты и «засыпают».

## Выбор дата-центра: российские vs зарубежные серверы

Российские дата-центры проще по оплате российской картой. Зарубежные серверы часто дают более стабильный доступ к API Telegram и зарубежным сервисам. Выбор зависит от аудитории и способа оплаты. Хороший вариант для зарубежного сервера — статья [VPS за границей с оплатой картой РФ](https://hosting-bota.ru/vps-za-granicey/).

## Таблица сравнения polling и webhook (актуально на 2026 год)

| Критерий | Polling | Webhook | Рекомендация |
|----------|---------|---------|--------------|
| Направление | Бот запрашивает | Telegram отправляет | Webhook в продакшене |
| HTTPS | Не требуется | Обязателен | — |
| Разрешённые порты | Любые | 443, 80, 88, 8443 | Только webhook |
| Задержка | Выше | Ниже | Webhook |
| Нагрузка на сеть | Выше | Ниже | Webhook |
| Подходит для разработки | Да | Сложнее | Polling сначала |

## Минимальная конфигурация VPS для Telegram-бота

Простому боту на aiogram без ИИ хватает 1 ядра и 1 ГБ RAM. Больше ресурсов требуется при обработке видео, ИИ-моделях и тысячах одновременных пользователей. Это подтверждено опытом эксплуатации.

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

### В чём основная разница между webhook и polling в Telegram-ботах?

Polling — бот сам запрашивает обновления, webhook — Telegram отправляет их на ваш сервер. Webhook требует HTTPS, polling — нет.

### Можно ли использовать polling и webhook одновременно?

Нет. Методы взаимно исключают друг друга. Нужно удалить webhook, чтобы вернуться к polling.

### Какие порты и протокол поддерживает webhook?

Только HTTPS и порты 443, 80, 88 или 8443. Другие порты Telegram не поддерживает.

### Нужен ли VPS для Telegram-бота или хватит своего компьютера?

Для тестов и polling хватит своего компьютера. Для webhook и постоянной работы нужен VPS или облако.

### Какой минимальный сервер нужен для бота на aiogram?

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

### Как правильно хранить токен бота и не попасть в утечку?

Храните токен в переменных окружения или .env-файле. Никогда не коммитьте его в репозиторий.

### Что делать, чтобы бот автоматически перезапускался после падения?

Используйте systemd с Restart=always или Docker с restart: unless-stopped.

### Какие ограничения по скорости отправки сообщений есть в Bot API?

Примерно 30 сообщений в секунду на всех и 1 сообщение в секунду в один чат. Превышение приводит к ошибкам 429.
