Бот, спокойно работавший на сотне пользователей, ложится на первой большой рассылке. Причина почти всегда одна: лимиты Telegram и синхронная отправка в лоб.
Лимиты, которые надо знать заранее
Telegram ограничивает частоту сообщений: около тридцати в секунду суммарно и заметно меньше в один и тот же чат. Превышение — ошибка 429 с указанием, сколько ждать.
Рассылка на десять тысяч подписчиков — это не «отправить десять тысяч сообщений», это очередь минимум на несколько минут при аккуратной отправке. Пытаться отправить их разом означает получить 429 и потерять часть доставок.
Очередь вместо цикла
Правильная рассылка — фоновая задача с ограничением скорости и повторами. Сообщения складываются в очередь, воркер разбирает её с нужным темпом, ответ 429 не роняет процесс, а откладывает конкретное сообщение.
Отдельно фиксируется результат по каждому получателю: доставлено, заблокировал бота, ошибка. Без этого через полгода в базе будут тысячи мёртвых подписчиков, на которых тратится темп очереди.
Вебхук против polling
Polling — бот сам опрашивает Telegram. Просто в разработке, приемлемо на малых объёмах, но добавляет задержку и держит соединение постоянно.
Вебхук — Telegram сам присылает обновление на ваш адрес. Быстрее и дешевле по ресурсам, но требует https и устойчивого обработчика: ответить надо мгновенно, а работу отдать в фон. Обработчик, который лезет в 1С прямо в момент запроса, начнёт получать повторные доставки от Telegram.
Что ещё ломается под нагрузкой
Долгие ответы. Любой запрос во внешнюю систему внутри обработчика — потенциальный таймаут. Всё тяжёлое уходит в фон, пользователю сразу показывается «секунду».
Общее состояние. Если бот хранит контекст диалога в памяти процесса, второй экземпляр под нагрузкой начнёт терять его. Состояние живёт в базе или кэше.
Медиа. Отправка одинаковой картинки тысяче человек — это один раз загрузить и дальше слать file_id, а не грузить файл заново каждый раз.
Что считать до старта
Сколько подписчиков будет через год, как часто планируются рассылки, сколько одновременных диалогов в пике и какие внешние системы бот дёргает. Эти четыре числа определяют архитектуру, и получить их надо до кода, а не после первой неудачной рассылки.
Смотрите также: Telegram Mini App, разработка ботов, оплата Kaspi в боте, конструктор или разработка, Mini App магазин.