Как читать ошибки Telethon и не гадать на RPC-кодах вслепую
Telethon почти всегда возвращает не «сломалось», а точный сигнал от MTProto-слоя. Сначала смотри не на текст исключения, а на класс: RpcError, FloodWaitError, UnauthorizedError, SessionPasswordNeededError. Класс уже говорит, где искать: лимит, авторизация, сессия, права доступа.
Дальше разбирай attributes у ошибки. У FloodWait есть seconds — это не баг, а пауза, которую надо уважать. У некоторых RPC-кодов есть message и request: по ним видно, какой метод вызвал отказ. Если в логе только traceback без контекста запроса, дебаг бесполезен: логируй метод, chat_id, peer, proxy и session name.
Отдельно читай ответы Telegram по смыслу, а не по названию. USER_ID_INVALID часто означает не «плохой user», а неверный тип peer. CHAT_ADMIN_REQUIRED — отсутствие прав в чате. PEER_FLOOD — антиабуз на стороне API, и повторный запуск без смены паттерна только ухудшит ситуацию. Разбираем логи ошибок: что пошло не так на стороне API?
Минимальный рабочий подход: оборачивай вызов в try/except, печатай класс ошибки, код, сообщение, входные параметры и время ответа. Дебаг — наш лучший друг в борьбе с FloodWait. Оптимизируем сессии, избегаем лимитов.
Telethon мастерская
@telethon_workshops_ubt
Как читать ошибки Telethon и не гадать на RPC-кодах вслепую
Этот пост опубликован в Telegram-канале Telethon мастерская. Подписаться можно по ссылке: @telethon_workshops_ubt.