Работа с пользователями по ID

У некоторых пользователей в телеграме нет @юзернейма, поэтому работать с ними в спамере и инвайтере можно только по ID. Однако, это сопряжено с некоторыми техническими сложностями.

Как софт ищет людей по ID?

Чтобы отправить человеку сообщение или заинвайтить его в группу, софту обязательно нужно сначала "найти" его аккаунт. При работе по юзернеймам это делается легко. Однако Телеграм не предоставляет механизмов, чтобы напрямую искать пользователей по ID.

Чтобы обойти это ограничение, наш парсер сохраняет не только ID человека, но и ссылку на группу, где он находится.

Когда вы запустите инвайтер или спамер с этим списком, то для поиска каждого пользователя софт сделает следующее:

  1. Найдёт указанную группу.

  2. Спарсит из неё пользователей.

  3. Найдёт среди пользователей того, чей ID совпадает с записанным.

После этого софт сможет в полной мере осуществлять взаимодействие с найденным аккаунтом.

Если группа перестала существовать, или пользователь успел из неё выйти, то найти его не получится. Таковы реалии работы по ID. Поэтому не откладывайте список надолго - отрабатывайте его, пока он актуален, либо воспользуйтесь парсером заново.

Про агрессивный парсинг

Телеграм не позволяет парсить свыше 10к пользователей из групп. Для работы с большими группами в парсере есть "агрессивный режим". Он работает значительно медленнее, чем обычный режим, но зато позволяет собрать из группы почти всех участников.

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

Напомним, что при неагрессивном парсинге софт видит только первые 10к человек из списка участников. Поэтому, если при сборе аудитории через парсер у вас был включен агрессивный режим, но вы не включили его при работе с полученным списком в инвайтере/спамере, то софт будет помечать всех пользователей свыше 10к как ненайденных.

В таком случае вы можете включить агрессивный парсинг для инвайтера/спамера. Однако, это значительно замедлит работу программы и может вам не подойти.

Если вы хотите работать с участниками, которые находятся в списке за пределами 10к, то рассмотрите парсинг участников по @юзернеймам.

Last updated