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

Скрипт для автоматической проверки телефонных номеров на наличие аккаунтов в Telegram. Результаты сохраняются в файл Microsoft Excel (*. xlsx) в котором указаны номер телефона, страна (если определило) и наличие Телеграм аккаунта на этом номере.

Внимание! Если у пользователя в настройках конфиденциальности отключена для всех функция "Кто может найти меня по номеру", то скрипт определит что такого Телеграм аккаунта не существует.

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

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

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

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

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

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

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

  • Формат файла api_credentials.txt

Файл должен содержать строки (Api и Hash):

123456
54321edcbadkr949skweiewdoi9

Формат остальных файлов

  • Файл с номерами телефонов (с кодом страны, можно с "+", можно без. Каждый номер с новой строки) phones.txt:
+7923456789
793456712859
795678974455
+380501422458

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

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

python Phones_Cheker.py

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

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

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

Обработка ошибок:

  • Все ошибки (если будут) записываются в файл error_log.txt.

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

Важно

  • Убедитесь, что файлы api_credentails.txt и phones.txt заполнены правильно, без лишних пробелов или пустых строк.
  • Файлы txt должны иметь кодировку UTF-8. Если при запуске скрипта возникнет Ошибка utf-8 codec can't decode byte ... , значит файл с сообщениями имеет кодировку, отличную от UTF-8. Это может случиться, если файл сохранен в другой кодировке, например, Windows-1251. Сохраните файл в кодировке UTF-8 без BOM (или просто UTF-8), например  в текстовом редакторе, таком как Notepad++ или Visual Studio Code.
  • Для проверки скритп временно добавляет номер в ваши контакты и сразу после проверки удаляет его. Использование этого подхода требует разрешения на доступ к контактам. Убедитесь, что Telegram-аккаунт имеет этот доступ. Telegram может ограничивать количество добавлений/удалений контактов за короткий период. Убедитесь, что стоит задержка в 10-20 секунд.
  • Соблюдайте правила Telegram, чтобы избежать блокировок за большое количество запросов. Если вы проверяете большое количество номеров, разбейте их на группы и делайте паузы между проверками. Это уменьшит риск блокировки.

По умолчанию интервал между проверкой номеров стоит 20 секунд. Вы можете поменять его самостоятельно в файле Phones_Cheker.py через Notepad++ или Visual Studio Code на 107 строке.

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