FloodWaitError ломает скрипт не хуже банального 500 — если его не ловить
FloodWaitError — не «ошибка Telethon», а ответ MTProto на слишком частые запросы. Если исключение не обработать, цикл падает, сессия рвётся, а повторный запуск часто только добивает аккаунт лишними попытками.
Базовая схема простая:
• ловим FloodWaitError отдельно от остальных RPC-ошибок;
• читаем e.seconds и уходим в sleep именно на это время;
• после паузы повторяем запрос, а не пересоздаём клиент без причины.
Не смешивайте flood с сетевыми сбоями. TimeoutError, OSError, ServerError и лимит запросов — разные классы проблем. Для первого помогает ретрай с backoff, для FloodWait — только ожидание. Дебаг — наш лучший друг в борьбе с FloodWait: логируйте метод, чат, порядок вызовов и длительность паузы.
Если скрипт массовый, добавьте очередь, throttle и защиту от параллельных одинаковых операций. Эффективность скрипта напрямую зависит от качества прокси и подготовки профилей.
Правильная реакция на FloodWait — не обход, а дисциплина: поймали лимит, зафиксировали, подождали, продолжили без лишних запросов.
Telethon мастерская
@telethon_workshops_ubt
FloodWaitError ломает скрипт не хуже банального 500 — если его не ловить
Этот пост опубликован в Telegram-канале Telethon мастерская. Подписаться можно по ссылке: @telethon_workshops_ubt.