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

Как не утонуть в диалогах: фильтруем чаты и ускоряем поиск участников

Как не утонуть в диалогах: фильтруем чаты и ускоряем поиск участников

При массовой работе с Telegram узкое место — не отправка, а выборка. Если каждый раз дергать лишние диалоги, скрипт упирается в лимиты и в мусорные RPC-ответы. Нужна жесткая фильтрация до любых тяжелых операций.

Рабочая схема простая:
— брать только is_user, is_group или is_channel по задаче;
— отсеивать пустые и архивные диалоги, если они не нужны;
— кешировать entity и не повторять get_dialogs() без причины.
Так вы снижаете количество запросов и стабилизируете проход по списку.

Для поиска участников не делайте полный перебор без условий. Сначала ограничьте пул по чату, потом используйте iter_participants с нужным фильтром: активные, админы, боты, recent. Если нужен текстовый поиск, сначала сузьте список по имени или username, а уже потом поднимайте entity. Дебаг — наш лучший друг в борьбе с FloodWait.

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

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

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

start

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

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

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