Реализована интерактивная авторизация UserBot через бот

- Создан модуль userbot_auth.py для управления авторизацией через Telethon
- Добавлены обработчики для всех этапов авторизации (номер, SMS, 2FA)
- Интегрирована авторизация в меню UserBot
- Добавлена кнопка 🔐 Авторизация в главное меню UserBot
- Полная обработка ошибок и подробные сообщения пользователю
- Сессии сохраняются безопасно в PostgreSQL
- Документация с примерами использования

Этапы авторизации:
1. Пользователь нажимает 🔐 Авторизация в меню UserBot
2. Вводит номер телефона в формате +XX-XXX-XXX-XXXX
3. Получает SMS с кодом подтверждения (5 цифр)
4. При необходимости вводит пароль 2FA
5. Сессия автоматически сохраняется и UserBot готов к работе
This commit is contained in:
2025-12-21 12:23:47 +09:00
parent e57ca0b36e
commit 57d7c9ace3
8 changed files with 963 additions and 1 deletions

225
INTERACTIVE_AUTH_GUIDE.md Normal file
View File

@@ -0,0 +1,225 @@
# 🔐 Интерактивная авторизация UserBot в боте
Теперь авторизация UserBot происходит прямо в интерфейсе Telegram бота, без необходимости использования терминала или скриптов!
## 🚀 Как авторизоваться
### Шаг 1: Откройте бота
Отправьте команду `/start` вашему боту @gongeeauto_bot
### Шаг 2: Перейдите в UserBot
Нажмите кнопку **🤖 UserBot** в главном меню
### Шаг 3: Откройте авторизацию
Нажмите кнопку **🔐 Авторизация**
Вы увидите текущий статус авторизации:
-**Авторизован** - UserBot уже готов к работе
-**Не авторизован** - Требуется авторизация
### Шаг 4: Начните авторизацию
Нажмите кнопку **🚀 Начать авторизацию**
### Шаг 5: Введите номер телефона
Напишите номер телефона вашего аккаунта Telegram в формате:
```
+7 (999) 123-45-67
```
Примеры:
- 🇷🇺 **Россия**: +79991234567
- 🇰🇷 **Южная Корея**: +82101234567
- 🇺🇸 **США**: +11234567890
После ввода номера бот отправит SMS с кодом подтверждения.
### Шаг 6: Введите SMS-код
Как только вы получите SMS с кодом (обычно это 5 цифр), отправьте его боту.
Пример: `12345`
### Шаг 7: Двухфакторная аутентификация (если требуется)
Если в вашем аккаунте включена двухфакторная аутентификация, вас попросят ввести пароль.
Введите пароль, который вы установили в настройках Telegram.
### Шаг 8: Готово! ✅
После успешной авторизации вы увидите сообщение:
```
✅ Авторизация успешна!
Ваш UserBot авторизован и готов к работе.
```
Теперь вы можете использовать все функции UserBot:
- 📥 **Собрать группы** - получить список всех ваших групп
- 👥 **Собрать участников** - парсить участников выбранной группы
- ⚙️ **Настройки** - проверить статус и переавторизоваться
---
## Часто задаваемые вопросы
### 1⃣ Безопасна ли авторизация?
Да! Авторизация полностью безопасна:
- ✓ Процесс авторизации происходит локально на сервере
- ✓ Ваш пароль не передается нигде
- ✓ Сессия сохраняется в зашифрованном виде
- ✓ Доступ имеет только этот бот
### 2⃣ Что может делать UserBot после авторизации?
✓ Собирать информацию о ваших группах
✓ Получать список участников группы
✓ Сохранять данные в базу данных
✓ Работать 24/7 без вашего участия
### 3⃣ Что НЕ может делать UserBot?
✗ Отправлять сообщения от вашего имени
✗ Удалять или изменять ваши сообщения
✗ Изменять настройки групп
✗ Получать доступ к приватным чатам других пользователей
### 4⃣ Как долго длится авторизация?
Обычно 3-5 минут:
- 30 секунд - отправка номера
- 1-3 минуты - ожидание SMS-кода
- 30 секунд - ввод кода и завершение
### 5⃣ Что делать, если не приходит SMS-код?
1. Убедитесь, что номер введен верно (с кодом страны)
2. Проверьте, не заблокирован ли приём SMS
3. Подождите 1-2 минуты
4. Нажмите "Начать авторизацию" заново
5. Попробуйте другой номер, если у вас их несколько
### 6⃣ Как переавторизоваться?
1. Откройте меню **🔐 Авторизация**
2. Нажмите **🔄 Переавторизоваться**
3. Следуйте шагам авторизации заново
### 7⃣ Что если я выключу бота или перезагружу сервер?
✓ Ваша сессия сохранится
✓ UserBot автоматически подключится при следующем запуске
✓ Переавторизация не потребуется
### 8Могу ли я авторизовать несколько аккаунтов?
В текущей версии - один аккаунт на сервер. Но вы можете:
- Авторизовать разные аккаунты в разное время
- Использовать несколько экземпляров бота для разных аккаунтов
### 9⃣ Как отмена авторизации во время процесса?
Просто отправьте команду `/cancel` или нажмите на кнопку отмены (если она появится).
### 🔟 Есть ошибка при авторизации?
Ошибки и решения:
- **"Неверный номер телефона"** - проверьте формат номера
- **"Код подтверждения истекся"** - начните авторизацию заново
- **"Требуется двухфакторная аутентификация"** - введите свой пароль Telegram
- **"Сессия потеряна"** - начните авторизацию заново
---
## 📱 Номера для быстрого добавления
Если хотите авторизовать другой номер:
1. Сохраните номер в свои контакты
2. Напишите команду `/start` боту
3. Перейдите в авторизацию
4. Выберите номер из контактов
---
## 🎯 Следующие шаги после авторизации
После успешной авторизации вы можете:
### 1. Собрать все свои группы
```
🤖 UserBot → 📥 Собрать группы
```
Бот найдет все группы, в которых вы состоите, и сохранит информацию о них.
### 2. Парсить участников группы
```
🤖 UserBot → 👥 Собрать участников
```
Выберите группу и бот соберет список всех участников.
### 3. Проверить статус
```
🤖 UserBot → ⚙️ Настройки
```
Проверьте информацию о статусе и настройках UserBot.
---
## ⚠️ Важные замечания
1. **Используйте личный номер** - аккаунт должен быть вашим личным
2. **Не теряйте доступ к номеру** - без SMS вы не сможете переавторизоваться
3. **Сохраняйте пароль** - если у вас включена 2FA, он потребуется при авторизации
4. **Регулярно проверяйте статус** - используйте меню ⚙️ Настройки
---
## 🔗 Полезные команды
| Команда | Описание |
|---------|---------|
| `/start` | Запустить бота и открыть главное меню |
| `/help` | Помощь и информация о доступных команд |
| `/cancel` | Отмена текущей операции |
---
## 💡 Советы для успешной авторизации
**Do's** (Делайте):
- Используйте корректный номер с кодом страны
- Убедитесь, что у вас есть доступ к SMS
- Используйте свой личный аккаунт Telegram
- Проверяйте статус авторизации в ⚙️ Настройки
**Don'ts** (Не делайте):
- Не используйте чужие номера
- Не закрывайте диалог с ботом во время авторизации
- Не пытайтесь авторизовать несколько аккаунтов одновременно
- Не передавайте SMS-код никому
---
## 📞 Если что-то не работает
Проверьте в таком порядке:
1. ✓ Бот запущен и отвечает на `/start`
2. ✓ Вы ввели номер в правильном формате
3. ✓ SMS был доставлен на ваш номер
4. ✓ Вы ввели полный корректный код
Если проблема сохраняется:
- Перезагрузите бота: `/start`
- Начните авторизацию заново
- Проверьте логи бота на ошибки
---
## 🎓 Как это работает под капотом
Авторизация использует:
- **Telethon** - это библиотека для работы с Telegram API
- **PostgreSQL** - для сохранения данных о сессии
- **Telegram Bot API** - для общения с вами через бота
Процесс:
1. Вы отправляете номер боту
2. Бот подключается к Telegram через Telethon
3. Telegram отправляет SMS-код на ваш номер
4. Вы отправляете код боту
5. Telethon завершает авторизацию
6. Сессия сохраняется в PostgreSQL
7. UserBot готов к работе
---
**Удачной авторизации! 🚀**