Профессиональный инструмент для массовой проверки телефонных номеров на регистрацию в Telegram.
- ✅ Проверка существования аккаунтов Telegram по номерам телефонов
- 📊 Детальная информация о найденных пользователях
- ⚡ Автоматическая обработка лимитов и ошибок
- 💾 Сохранение результатов в удобном формате
- 🔄 Продолжение работы после перезапуска
| Компонент | Версия | Назначение |
|---|---|---|
| Python | 3.7+ | Основной язык программирования |
| Telethon | 1.34+ | Официальная Telegram API библиотека |
| tqdm | 4.66+ | Индикатор прогресса |
| Telegram API | Latest | Взаимодействие с мессенджером |
telegram-checker/
├── 📄 check_numbers.py # Основной исполняемый скрипт
├── 📄 numbers.txt # Список номеров для проверки
├── 📄 config.txt # Конфигурация API (автогенерация)
├── 📄 user_session.session # Сессия авторизации
├── 📄 existing_numbers.txt # Результат: существующие номера
├── 📄 non_existing_numbers.txt # Результат: проблемные номера
├── 📄 LICENSE # Лицензия
└── 📄 README.md # Документация
Системные требования:
- Python 3.7 или выше
- Активный аккаунт Telegram
- Доступ к интернету
Важно перед началом:
- Отключите двухфакторную аутентификацию в Telegram
- Убедитесь, что у аккаунта нет пароля
- Подготовьте список номеров в формате +79123456789
# Клонирование репозитория
git clone https://github.com/ваш-username/telegram-number-checker.git
cd telegram-number-checker
# Установка зависимостей
pip install telethon tqdm- Перейдите на my.telegram.org
- Авторизуйтесь через свой аккаунт Telegram
- Создайте новое приложение в разделе "API Development Tools"
- Скопируйте полученные API_ID и API_HASH
Создайте файл numbers.txt с номерами для проверки:
+79123456789
+79234567890
+79345678901
+79456789012Формат обязателен: +7XXXXXXXXXX или +XXXXXXXXXXX
python check_numbers.py🔐 Этап 1: Авторизация
- Запрашиваются API_ID и API_HASH (только при первом запуске)
- Создается файл сессии для повторных запусков
- Выполняется вход в аккаунт Telegram
📋 Этап 2: Загрузка данных
- Чтение номеров из numbers.txt
- Валидация формата номеров
- Подготовка структуры результатов
🔍 Этап 3: Проверка номеров
Для каждого номера выполняется:
- Создание временного контакта с именем "1", "2", "3"...
- Попытка импорта контакта через Telegram API
- Анализ ответа API
- Запись результата в соответствующий файл
- Пауза 7 секунд между запросами
💾 Этап 4: Сохранение результатов
- existing_numbers.txt - аккаунты найденные
- non_existing_numbers.txt - номера с проблемами
Существующие номера (existing_numbers.txt)
Номер | Имя пользователя | Имя/Фамилия | Статус
+79123456789 | @username | Иван Иванов | Активен
+79234567890 | Нет | Петр Петров | Не в сети давно
+79345678901 | @another_user | | ЗаблокированПроблемные номера (non_existing_numbers.txt)
Номер | Причина
+79456789012 | Не зарегистрирован в Telegram
+79567890123 | Неверный формат номера
+79678901234 | Ошибка: FloodWaitErrorФайл config.txt
1234567 # API_ID
a1b2c3d4e5f6a1b2c3d4 # API_HASHПараметры скрипта
Параметр Значение Описание Задержка 7 секунд Между запросами Лимит ~15 номеров/мин Безопасный режим Формат номеров +XXXXXXXXXXX С кодом страны Контакты 1, 2, 3... Имена для импорта
Рекомендации
- ✅ Используйте отдельный аккаунт Telegram
- ✅ Отключите 2FA перед использованием
- ✅ Храните session файл в безопасности
- ✅ Не делитесь API ключами
- ✅ Соблюдайте лимиты Telegram
Ограничения
- ❌ Не более 200 номеров за сессию
- ❌ Избегайте массовых проверок за короткое время
- ❌ Не используйте основной аккаунт
Типичные ошибки и решения
| Ошибка | Причина | Решение |
|---|---|---|
| PhoneNumberInvalidError | Неверный формат | Используйте формат +7XXXXXXXXXX |
| FloodWaitError | Лимит запросов | Скрипт автоматически ждет |
| SessionPasswordNeededError | Включена 2FA | Отключите пароль в Telegram |
| PhoneNumberBannedError | Номер заблокирован | Невозможно проверить |
Алгоритм проверки
1. ImportContactsRequest → Импорт временного контакта
2. Анализ response.users → Проверка существования
3. Извлечение данных → Username, имя, статус
4. Классификация → Существует/Не существуетОптимизации
- Кэширование API ключей
- Сохранение сессии авторизации
- Прогресс-бар с tqdm
- Автовосстановление после FloodWait
- Первая авторизация → Ввод кода из Telegram
- Повторный запуск → Использование session файла
- Истечение сессии → Переавторизация по коду
- Завершение работы → Корректное отключение
Показатели
- Скорость проверки: ~8 номеров/минуту
- Потребление памяти: < 50 МБ
- Дисковое пространство: ~1 КБ на номер
- Сетевая активность: Минимальная
Оптимальные настройки
DELAY_BETWEEN_REQUESTS = 7 # секунд
MAX_NUMBERS_PER_SESSION = 200
BATCH_SIZE = 1 # по одному номеруЧастые вопросы
Q: Почему скрипт работает медленно?
A: Задержка 7 секунд нужна для избежания блокировки аккаунта.
Q: Какой формат номеров нужен?
A: Обязательно с + и кодом страны: +79123456789
Q: Можно ли проверять иностранные номера?
A: Да, в формате +КодСтраныНомер, например +441234567890
Q: Что делать при ошибке сессии?
A: Удалите user_session.session и перезапустите скрипт.
Скрипт предоставляет:
- Визуальный прогресс-бар
- Статус каждого номера в реальном времени
- Подробные логи ошибок
- Сводку по завершении