500 000 чатов и каналов Телеграм

Скрипт для сбора подробной информации об участниках из чатов Telegram. Результаты сохраняются в файл Microsoft Excel (*. xlsx) в котором указаны: ID пользователя, Usrename, Имя, Когда был онлайн, Телефон (если не скрыт). В файле будут три вкладки: Все пользователи, Обычные, Премиум.

Видео работы скрипта:

https://drive.google.com/file/d/1DJhNz9vayilYiK8aU6DNf8GzJMdU5HnN/view?usp=sharing

Для работы данного скрипта у вас должен быть установлен Python. Скачать можно здесь. Работоспособность данного скрипта тестировалась на версии Python 3.9.1.

  1. Для запуска парсера пользователей на Python, установите необходимые библиотеки, если они ещё не установлены:
pip install pyrogram tgcrypto openpyxl progressbar2

Произведите настройку скрипта

  • Получите свой API_ID и API_HASH:

Зарегистрируйтесь на https://my.telegram.org/apps. Переходим на этот сайт в раздел API Development Tools, создаём приложение заполняя только название приложения, короткое имя и выбрать версию Desktop. После чего получаем нужные нам данные.

Небольшая видеоинструкция: https://www.youtube.com/watch?v=L4UnzeLsFO4

Создайте приложение, чтобы получить API_ID и API_HASH.

Открываем файл Bot.py в редакторе, таком как Notepad++ или Visual Studio Code. На 54 - 55 строке вводим свои API_ID и API_HASH. И сохраняем файл.

  • Файл с чатами откуда мы будем парсить пользователей links.txt:
chat_username1
chat_username2
chat_username3

Список чатов должен быть без https://t.me/, каждый чат с новой строки.

Внимание! Парсер собирает информацию только из чатов с открытым списком участников! Проверяейте перед формированием списка.

Запуск скрипта

Через консоль:

python Bot.py

Или можно просто кликнуть по файлу.

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

Проверьте, что файл сессии (client.session) создается рядом со скриптом. Скрипт начнет собирать информацию о пользователях по заданному списку чатов.

Скрипт сохранит результаты в файл users.xlsx с отчетом по каждому аккаунту и чату.

Дополнительно скрипт сохранит список пользователей в отдельный файл users.txt с юзернеймами:

Важно

  • Этот код работает только для публичных чатов (с доступным @username или прямой ссылкой).
  • Убедитесь, что файл links.txt заполнен правильно, без лишних пробелов или пустых строк.
  • Telegram может ограничить запросов к чатам, с которых можно парсить за короткий промежуток времени. Используйте разумные задержки. Парсите не более 50 чатов за один раз.
  • Соблюдайте правила Telegram, чтобы избежать блокировок.

Внимание! Если вы собираетесь очень интенсивно и много парсить, на всякий случай не используйте свой личный аккаунт во избежание бана! Пользуйтесь куплеными аккаунтами, которые не жалко будет потерять если что.