Задача: Восстановление авторизации через телефон в Telegram боте
Контекст
Существует рабочий Node.js бот, который использует MTProto (не Bot API) для работы с пользовательскими аккаунтами Telegram. Авторизация проходит через пароль-код на номер телефона, введенный пользователем. Ранее система работала исправно.
Текущая проблема
- Пользователь вводит номер телефона.
- Запрос
auth.sendCode выполняется без видимых ошибок.
- Код подтверждения фактически не доходит до пользователя (отсутствует SMS, нет ошгберок с сервера).
- Бот не отображает способ отправки, выбранный Telegram (SMS, приложение, звонок).
- Авторизация не завершается.
Необходимо сделать
- Диагностика причин:
- Проверка логов сессий и хранения токенов.
- Выявление ошибок в обработке ответа
sent_code. - Проверка логики обработки повторной отправки кода через разные каналы (App/SMS).
- Устранение возможных блокировок/ограничений со стороны Telegram (контроль App -> SMS спама).
- Исправление логики авторизации:
- Обработка поля
sent_code, чтобы корректно отображать тип доставки (App/SMS/Call). - Добавить понятный интерфейс/кнопки для повторного запроса кода, если выбран неверный метод.
- Исправить обработчики ошибок, включая
PHONE_NUMBER_INVALID и истечение сессии.
- Создание видеоинструкции:
- Пошаговая запись экрана с демонстрацией запуска свежей кории бота из среды Node.
- Настройка окружений файлов через
npm install. - Процесс авторизации нового пользователя (вход, код, завершение).
- Возможность повторно использовать инструкцию другими разработчитдлями.
Стек технологий
- Node.js
- MTProto (пакет
mtproto-core, tdlight или аналог)
- Хранение сессий (Local, JSON, либо база)
- Telegram аккаунты (не бот, а пользовательские)
Ключевые требования
- Заказчик не знает точной причины поломки - требуется полный аудит.
- После исправления код пдлядолжения работать в облаке либо на том же хосте без паденийавторизации.
- Нужн видео понятное, с голосовыми пояснени< /li>
- Чис том никакие api кейсы не менять - только лоику авторизации и промпты.