Ліміт швидкості — це обмеження, яке Telegram накладає на кількість повідомлень, що бот може надіслати за певний проміжок часу, і яке застосовується через повернення помилки HTTP 429 після перевищення межі. Власні рекомендації Telegram встановлюють приблизно одне повідомлення на секунду до одного й того самого чату, двадцять повідомлень на хвилину всередині групи та близько тридцяти повідомлень на секунду, коли бот масово надсилає повідомлення в багато різних чатів. Ці ліміти особливо важливі, коли розклад спрацьовує одразу для кількох каналів або коли повтор іде за тимчасовою помилкою. Разом із помилкою 429 Telegram повідомляє інтервал retry_after, і Autogram враховує його, розраховуючи паузу перед наступною спробою, а не повторює наосліп.
Ліміт — це не одне число, а три, кожне зі своєю сферою дії. Один чат — включно з каналом, адже Telegram трактує його як один чат для цієї мети — витримує приблизно одне повідомлення на секунду, з короткими сплесками, дозволеними до того, як обмеження спрацює. Група обмежена двадцятьма повідомленнями на хвилину — окремим і суворішим правилом. Розсилка того самого контенту в багато різних чатів за короткий проміжок обмежена приблизно тридцятьма повідомленнями на секунду, якщо бот не вмикає платні розсилки.
Telegram відповідає на запит, що перевищує ліміт, кодом HTTP 429, а не тихо ставить його в чергу. Відповідь містить поле retry_after із точною кількістю секунд, які варто зачекати перед повторною спробою, — це задокументоване значення, а не здогад. Дотримання цього числа — єдина правильна реакція; негайний повтор або повтор через фіксований короткий інтервал, що ігнорує це значення, лише відсуває обмеження далі й може з часом знизити швидкість надсилання всієї інтеграції, а не тільки одного виклику.
Для бота, достатньо великого, щоб це знадобилося, Telegram дозволяє оператору увімкнути платні розсилки в BotFather, піднімаючи безкоштовну межу приблизно з тридцяти повідомлень на секунду аж до тисячі. Кожне повідомлення понад безкоштовні тридцять коштує частку Telegram Stars, які списуються з балансу самого бота, а функція розблоковується лише тоді, коли на балансі бота є щонайменше 100 000 Stars — планка, яку подолає лише канал із реальним масштабом.
Автоматизуйте публікацію в Telegram за допомогою ШІ-контенту, оцінки якості та розумного планування.