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

Для работы данного данного скрипта у вас должен быть установлен Python. Скачать можно здесь. Работоспособность данного скрипта тестировалась на версии Python 3.9.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 строке.

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


