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

Фильтруйте диалоги до запроса: иначе поиск участников превращается в RPC-мясорубку

Фильтруйте диалоги до запроса: иначе поиск участников превращается в RPC-мясорубку

Когда скрипт сначала тянет все чаты, а потом пытается искать людей, он платит за лишние запросы и ловит FloodWait раньше, чем успевает сделать полезную работу. Правильная схема — сначала сузить набор диалогов, потом уже идти в participants.

Рабочие фильтры: — исключайте service-чаты, каналы без обсуждений и архив; — оставляйте только supergroup с доступом к участникам; — заранее кэшируйте id, title и тип сущности, чтобы не дергать объект повторно. Это резко снижает число обращений к API и убирает шум из логики.

Для быстрого поиска используйте локальный индекс: username, phone, user_id, а также last_name/first_name, если задача допускает неполное совпадение. Не делайте full scan по каждому диалогу — лучше один раз собрать карту участников и потом искать по ней в памяти. Дебаг — наш лучший друг в борьбе с FloodWait.

Если нужен массовый обход, ставьте лимиты на batch size, добавляйте паузу между запросами и логируйте, на каком диалоге упал RPC. Оптимизируем сессии, избегаем лимитов.
Этот пост опубликован в Telegram-канале Telethon мастерская. Подписаться можно по ссылке: @telethon_workshops_ubt.
tech

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

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

start

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

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

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