Обмеження й ліміти

FLOOD_WAIT у Telegram: що означає помилка і скільки чекати

FLOOD_WAIT_X — прохання сервера Telegram зачекати X секунд перед повтором дії: акаунт зробив забагато схожих запитів поспіль. Це не бан. Треба перечекати рівно вказаний час і знизити темп, а не повторювати запит одразу.

Оновлено:

Зміст

Що означає FLOOD_WAIT

FLOOD_WAIT_X — відповідь сервера Telegram з кодом 420: акаунт зробив забагато однакових запитів за короткий час, і сервер просить зачекати X секунд, перш ніж повторити дію. В офіційному списку помилок текст такий: «Please wait X seconds before repeating the action».

Це не бан і не спамблок. Акаунт працює, просто конкретна дія тимчасово недоступна. Таку помилку може повернути будь-який метод API — надсилання повідомлення, вступ у чат, пошук за username, завантаження списку учасників.

Найчастіше з нею стикаються програми й боти: вони роблять запити швидше за людину.

Схожі помилки: FLOOD_PREMIUM_WAIT, SLOWMODE_WAIT, PEER_FLOOD

Назви схожі, але зміст різний:

ПомилкаЩо означаєЩо робити
FLOOD_WAIT_Xнадто часті запитизачекати X секунд
FLOOD_PREMIUM_WAIT_Xшвидкість завантаження файлів обмежена для акаунта без Premiumзачекати X секунд і продовжити
SLOWMODE_WAIT_Xу чаті ввімкнено повільний режимзачекати — це налаштування чату, а не вашого акаунта
PEER_FLOODна акаунт скаржилисяперевірити статус у @SpamBot
PHONE_NUMBER_FLOODзабагато спроб входу за номеромзачекати й не запитувати код знову

Найнебезпечніша плутанина — PEER_FLOOD і FLOOD_WAIT. Перше — не таймер, а обмеження після скарг: чеканням його не зняти. Про нього — у гайді про спамблок і заморожування.

Скільки чекати

Рівно стільки, скільки вказано в X. Число приходить у самій помилці й буває від кількох секунд до багатьох годин. Telegram не публікує формули, за якою його рахує, і не обіцяє, що наступний FLOOD_WAIT буде таким самим.

Практичне правило:

  • секунди й хвилини — зачекати й повторити ту саму дію;
  • години — зупинити цей тип дій на акаунті до кінця строку, а роботу передати іншим акаунтам;
  • повторюється раз за разом — акаунт працює надто щільно, знизьте темп.

Для ботів на Bot API та сама ситуація виглядає як HTTP 429 з полем retry_after — зміст той самий.

Як помилку обробляють бібліотеки

Популярні бібліотеки вміють самі перечекати короткий FLOOD_WAIT і кидають помилку, якщо чекати довше за поріг:

БібліотекаНалаштуванняЗа замовчуванням
Telethonflood_sleep_threshold60 секунд
Pyrogramsleep_threshold10 секунд
GramJSfloodSleepThreshold60 секунд
grammY (боти)плагін auto-retryчекає retry_after і повторює

Поріг варто тримати невеликим. Якщо бібліотека мовчки спить годину, програма виглядає завислою, а ви не дізнаєтеся, що акаунт уперся в ліміт.

Чому не можна повторювати одразу

Чекати обов'язково: сервер прямо каже, скільки. Запит до кінця строку знову поверне ту саму помилку. Документація grammY формулює коротко: за упор у ліміт не банять, банять за те, що ліміт ігнорують.

Серія FLOOD_WAIT поспіль — сигнал, що акаунт працює на межі. Наступним кроком буває вже обмеження, яке чеканням не минає. Тому розумно не лише чекати, а й знижувати навантаження на акаунт.

Що підвищує частоту FLOOD_WAIT

Точних лімітів не знає ніхто — це прямо пишуть автори Telethon, Pyrogram і grammY. Але відомо, що частіше впираються у FLOOD_WAIT:

  • багато однакових запитів поспіль без пауз — наприклад, пошук десятків username за хвилину;
  • нові акаунти й акаунти на віртуальних номерах;
  • кілька програм, що працюють з одним акаунтом одночасно — кожна вважає, що вкладається в норму, а сервер бачить суму;
  • та сама сесія, відкрита у двох місцях одразу — це дає ще й помилку AUTH_KEY_DUPLICATED.

Які ліміти Telegram публікує офіційно, а які відомі лише зі спостережень, — у гайді про ліміти Telegram.

Ліміти для ботів

Для ботів Telegram публікує орієнтири у FAQ для розробників:

  • не більше одного повідомлення на секунду в один чат;
  • не більше 20 повідомлень на хвилину в одну групу;
  • близько 30 повідомлень на секунду під час масової розсилки підписникам бота.

Для звичайних акаунтів, а не ботів, таких цифр немає. Там ліміти видно з відповідей сервера, і FLOOD_WAIT — головна з них.

Часті питання

FLOOD_WAIT — це бан?

Ні. Акаунт працює, тимчасово недоступна лише одна дія. Бан чи спамблок виглядають інакше — наприклад, помилкою PEER_FLOOD.

Чи можна скоротити час очікування?

Ні. Час приходить у самій помилці, і запит до його закінчення поверне ту саму помилку. Можна лише передати роботу іншим акаунтам на цей час.

Чим FLOOD_WAIT відрізняється від PEER_FLOOD?

FLOOD_WAIT — таймер, після якого дія знову доступна. PEER_FLOOD означає, що на акаунт скаржилися: чеканням його не зняти, статус треба перевірити в @SpamBot.

Чому FLOOD_WAIT приходить, хоча запитів небагато?

Ліміт рахується на акаунт загалом. Якщо з акаунтом одночасно працюють кілька програм або одна сесія відкрита у двох місцях, сервер бачить суму всіх запитів.

GramClaude перечікує FLOOD_WAIT сам, а після серії таких відповідей поспіль ставить акаунт на паузу на добу — раніше, ніж це зробить Telegram.

Мы используем cookies

Мы ставим только технические cookies — они держат вас в системе и защищают формы. Аналитики и рекламных трекеров нет.

Политика конфиденциальности