Telegram bot api: код ошибки 429, ошибка: слишком много запросов: повторите попытку позже

У нас есть Telegram-бот. У него около 1,2 миллиона подписчиков.

Теперь мы столкнулись с проблемой отправки сообщений на такое количество подписчиков.

API бота Telegram не предоставляет никаких функций пакетных сообщений, и нам придется отправлять отдельные запросы в Telegram. Проблема в том, что после нескольких тысяч сообщений Telegram начинает отвечать с ошибкой 429: слишком много запросов и какое-то время не принимает никаких запросов.

Как мы можем эффективно общаться с нашими подписчиками?


person Pooya Saberian    schedule 10.08.2015    source источник
comment
1,2 миллиона подписчиков ?! имя бота? :) Как отметил ответ @ user3313781, в настоящий момент серверы ботов Telegram используют эту стратегию ограничения антиспама. Вы решили отправить сообщение в более подходящий срок? Например, отправляя каждое сообщение каждые 50 миллисекунд?   -  person Giorgio Robino    schedule 02.12.2015


Ответы (4)


Вам следует просто реализовать глобальный ограничитель скорости, чтобы гарантировать, что ни один пользователь не получит более фиксированного количества сообщений в секунду. на всякий случай установите ограничитель ниже 30, может быть, даже до 5 сообщений в секунду.

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

ваше здоровье.

person Charles Okwuagwu    schedule 21.01.2016
comment
В чем может быть причина, если я получаю и эту ошибку, но только при попытке sendContact через телеграмму. Я использую Telegraf Framework. У меня сейчас нет подписчиков. Просто изучаю фреймворк. Что может сделать петлю, что я мог пропустить? - person Valary o; 22.05.2020

Я владелец Ramona Bot. Существует ограничение на отправку сообщений пользователям. как они сказали ~ 30 сообщений в секунду. В противном случае вы получите ошибку 429.

person user3313781    schedule 02.10.2015
comment
Вы, может быть, тестировали, что происходит после получения ошибки 429? Решили ли вы отправлять сообщения в подходящее время (после 429 Reject), отправляя каждое сообщение каждые 50 миллисекунд? Вы использовали возможно и очередь вывода сообщений? Благодарность - person Giorgio Robino; 02.12.2015

На основе Telegram Часто задаваемые вопросы о ботах для отправки сообщений следует учитывать:

Если вы отправляете массовые уведомления нескольким пользователям, API не будет разрешать более 30 сообщений в секунду или около того. Для достижения наилучших результатов рассмотрите возможность рассылки уведомлений через большие интервалы в 8–12 часов.

person Hossein    schedule 14.04.2020

У меня были похожие проблемы с сообщениями, пауза между которыми составляла 0,5 секунды (это намного меньше 30 сообщений в секунду!). Проблема была связана только с сообщениями, содержание которых я пытался изменить. Поэтому, когда вы пытаетесь использовать edit_message_text или edit_message_media, делайте больше пауз между сообщениями.

person Александр Щербаков    schedule 01.07.2021