Задача
Разработать Telegram-бота, который автоматизирует процесс приема и сохранения нескольких сессионных файлов (.session) от пользователей.
Необходимый функционал
- Пользователь нажимает кнопку "Старт" (или команду /start).
- Бот последовательно запрашивает:
- Номер телефона, на который зарегистрирован аккаунт (требуется ввести вручную или отправить контактом).
- Код Telegram (приходит после подтверждения номера - обычно бот просит ввести его).
- Пароль от аккаунта (если включена облачная авторизация).
- Код двухфакторной аутентификации (2FA), если он настроен (классически отправляется на почту или в SMS).
Важно: для отправки кодов 2FA допускается вариант пересылки с привязанного почтового ящика - конечный формат обрабатывается внутри закупки.
- В результате авторизации бот автоматически создает файл с расширением .session, связанный конкретно с переданными данными пользователя.
Требования хранения
- Сессионные файлы должны сохраняться с уникальными названиями для каждого нового случая подключения.
- Бот должен масштабироваться - подразумевается работа до нескольких тысяч подключений (одновременные и одиночные запросы). Повторного вписывания логина/пароля не требуется после успешного получения файла: каждому пользователю можно присвоить внутренний ID - к нему же привязывается полученный .session;
- Файлы и данные авторизации хранить или сервере в защищенной директории - размещение прописывается в конфиге отдельным модулем.
Технические моменты
- Языки реализации: Python (надёжно для долгоживущей работы Telethon/auth/inlines).
- Взаимодействие: бот в Python с поддержкой state-сценариев диалога .pre .y .j через библиотеку Telethon или aiogram (Telethon предпочтительнее - он напрямую создает telethon-файл сессии без дополнительных танцев).
- Явяление инструментом: на каждую компиляцию ожидается использование стандартной обработки: GET Input для SD