Telethon мастерская
Telethon мастерская
@telethon_workshops_ubt

Фильтруем диалоги и ищем участников без лишних RPC и FloodWait

Фильтруем диалоги и ищем участников без лишних RPC и FloodWait

Когда скрипт начинает «тормозить», причина часто не в Telethon, а в плохой логике обхода. Не дергайте список чатов целиком, если вам нужны только каналы, только группы или только диалоги с активностью. Сначала отсекаем мусор по типу сущности, потом уже идем в детали.

Для диалогов используйте явные фильтры: проверяйте is_group, is_channel, megagroup, исключайте архив и сервисные чаты. Это сокращает число объектов в памяти и уменьшает количество запросов к API. Оптимизация сессий, избегаем лимитов.

Поиск участников делайте не через полный перебор, а через сужение выборки: сначала получите нужный чат, затем работайте по его участникам с iter_participants и ограничениями по роли, активности или ключевому флагу профиля. Если нужен быстрый lookup, кешируйте id, username и уже обработанные сущности, иначе повторные обращения будут съедать лимит на ровном месте. Дебаг — наш лучший друг в борьбе с FloodWait.

Если ловите пустые результаты, смотрите на права доступа: не в каждом чате API отдает полный список, а в некоторых случаях поиск по участникам режется сервером. Разбираем логи ошибок: что пошло не так на стороне API?

Стройте пайплайн так: фильтр диалогов → отбор нужного чата → точечный поиск участников → кеширование результата. Так скрипт работает быстрее, а сессия живет дольше.
Этот пост опубликован в Telegram-канале Telethon мастерская. Подписаться можно по ссылке: @telethon_workshops_ubt.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.