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

Фильтрация диалогов и быстрый поиск участников: как не утонуть в MTProto-запросах

Фильтрация диалогов и быстрый поиск участников: как не утонуть в MTProto-запросах

В Telethon узкое место часто не в сети, а в том, как вы режете запросы. Если сначала грузить все диалоги, а потом фильтровать на Python, лишние RPC и FloodWait почти гарантированы. Правильнее сразу ограничивать выборку: по типу чата, pinned, archived, megagroup, ботам, каналам.

Для диалогов используйте ленивую пагинацию: берите только нужный объём и останавливайтесь, когда цель найдена. На больших аккаунтах полный проход по списку — это лишний трафик и лишняя задержка. Кэшируйте ID уже обработанных чатов, иначе каждый запуск будет заново платить за одну и ту же работу.

С участниками логика та же: не тяните весь список, если нужен один сегмент. Фильтруйте по participant filter, роли, статусу бота, presence, а затем добирайте через get_participants пакетами. Если задача — найти активных пользователей, лучше строить выборку по последним сообщениям и участию в целевых чатах, чем молотить всех подряд.

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

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

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

start

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

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

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