Задача

Разработать 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