188 lines
5.8 KiB
Markdown
188 lines
5.8 KiB
Markdown
# 📱 Настройка Telegram Бота для Логов
|
||
|
||
## 🎯 Цель
|
||
Пользователи смогут **добровольно** отправлять логи ошибок через Telegram, и вы будете получать их мгновенно в вашу группу/канал.
|
||
|
||
---
|
||
|
||
## 📋 Шаг 1: Создайте Telegram Бота
|
||
|
||
1. Откройте Telegram и найдите **@BotFather**
|
||
2. Отправьте команду: `/newbot`
|
||
3. Введите имя бота: **Umbrix Log Bot**
|
||
4. Введите username: **@umbrix_logs_bot** (или любой свободный)
|
||
5. **СКОПИРУЙТЕ TOKEN** который выдаст BotFather (будет примерно таким):
|
||
```
|
||
1234567890:ABCdefGHIjklMNOpqrsTUVwxyz1234567890
|
||
```
|
||
|
||
---
|
||
|
||
## 📋 Шаг 2: Создайте Приватную Группу
|
||
|
||
1. Создайте **приватную группу** в Telegram (или канал)
|
||
2. Назовите её например: **Umbrix Logs**
|
||
3. **Добавьте бота** в эту группу:
|
||
- Нажмите на группу → Info → Add members
|
||
- Найдите вашего бота по username (@umbrix_logs_bot)
|
||
- Добавьте его
|
||
|
||
---
|
||
|
||
## 📋 Шаг 3: Получите CHAT_ID
|
||
|
||
### Вариант A: Через веб-запрос
|
||
|
||
1. Отправьте **любое сообщение** в созданную группу
|
||
2. Откройте в браузере (замените `<YOUR_TOKEN>`):
|
||
```
|
||
https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates
|
||
```
|
||
Пример:
|
||
```
|
||
https://api.telegram.org/bot1234567890:ABCdefGHIjkl/getUpdates
|
||
```
|
||
|
||
3. Найдите в ответе:
|
||
```json
|
||
{
|
||
"message": {
|
||
"chat": {
|
||
"id": -1001234567890, ← ЭТО ВАШ CHAT_ID
|
||
"title": "Umbrix Logs"
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
### Вариант B: Через бота @userinfobot
|
||
|
||
1. Добавьте **@userinfobot** в вашу группу
|
||
2. Он автоматически напишет CHAT_ID группы
|
||
|
||
---
|
||
|
||
## 📋 Шаг 4: Настройка в Коде
|
||
|
||
1. **Скопируйте файл-образец**:
|
||
```bash
|
||
cd /home/vodorod/dorod/hiddify-original-v2.5.7
|
||
cp lib/core/telegram_config.dart.example lib/core/telegram_config.dart
|
||
```
|
||
|
||
2. **Откройте** `lib/core/telegram_config.dart`
|
||
|
||
3. **Вставьте свои данные**:
|
||
```dart
|
||
class TelegramConfig {
|
||
static const String botToken = '1234567890:ABCdefGHIjklMNOpqrsTUVwxyz1234567890';
|
||
static const String chatId = '-1001234567890'; // С минусом для групп!
|
||
|
||
// Остальное не трогайте
|
||
static const String apiUrl = 'https://api.telegram.org';
|
||
static const int maxMessageLength = 4000;
|
||
}
|
||
```
|
||
|
||
4. **ВАЖНО**: Добавьте в `.gitignore`:
|
||
```bash
|
||
echo "lib/core/telegram_config.dart" >> .gitignore
|
||
```
|
||
|
||
---
|
||
|
||
## 📋 Шаг 5: Проверка
|
||
|
||
1. Соберите приложение:
|
||
```bash
|
||
flutter build apk --debug
|
||
```
|
||
|
||
2. Установите на эмулятор/телефон
|
||
|
||
3. Зайдите в **Настройки → О приложении**
|
||
|
||
4. Нажмите **"Отправить логи разработчику"**
|
||
|
||
5. Проверьте вашу Telegram группу - должно прийти сообщение! 🎉
|
||
|
||
---
|
||
|
||
## 🔐 Безопасность
|
||
|
||
### ✅ ЧТО БЕЗОПАСНО:
|
||
- Токен бота хранится в `telegram_config.dart` (не в Git)
|
||
- Группа приватная (только вы видите логи)
|
||
- Логи анонимны (нет IP, email, паролей)
|
||
|
||
### ⚠️ ЧТО ОТПРАВЛЯЕТСЯ:
|
||
- Версия приложения
|
||
- Версия Android
|
||
- Модель устройства (Samsung, Xiaomi)
|
||
- Последние 50 строк логов
|
||
- Анонимный ID (хэш от device_id)
|
||
|
||
### 🚫 ЧТО НЕ ОТПРАВЛЯЕТСЯ:
|
||
- IP адрес
|
||
- Email пользователя
|
||
- VPN конфигурация
|
||
- Серверы/ключи
|
||
- История сайтов
|
||
- Трафик
|
||
|
||
---
|
||
|
||
## 📊 Пример Сообщения в Telegram
|
||
|
||
```
|
||
🐛 Отчёт об ошибке Umbrix
|
||
|
||
📱 Версия: 1.0.0
|
||
🤖 Android: 13
|
||
📲 Устройство: Samsung SM-G991B
|
||
🆔 ID: a3f7c9d2 (анонимный)
|
||
🕐 Время: 2024-12-27 15:30:22
|
||
|
||
📋 Логи:
|
||
[ERROR] Connection failed: Timeout
|
||
[INFO] Retrying connection...
|
||
[ERROR] Failed after 3 attempts
|
||
...
|
||
```
|
||
|
||
---
|
||
|
||
## 🛠️ Альтернативы
|
||
|
||
Если Telegram не подходит, можете использовать:
|
||
|
||
1. **Email** (через SMTP или веб-сервис)
|
||
2. **GitHub Issues** (автоматически через API)
|
||
3. **Discord Webhook**
|
||
4. **Slack Webhook**
|
||
|
||
Но Telegram - самый простой и удобный вариант для начала! 👍
|
||
|
||
---
|
||
|
||
## ❓ FAQ
|
||
|
||
**Q: Бот не отвечает**
|
||
A: Проверьте что бот добавлен в группу и вы скопировали правильный токен
|
||
|
||
**Q: Не могу найти CHAT_ID**
|
||
A: Убедитесь что отправили сообщение в группу ПОСЛЕ добавления бота
|
||
|
||
**Q: Лимит сообщений?**
|
||
A: Telegram Bot API позволяет 30 сообщений в секунду (более чем достаточно)
|
||
|
||
**Q: Можно ли использовать личный чат вместо группы?**
|
||
A: Да! Напишите боту /start, получите свой chat_id через getUpdates
|
||
|
||
**Q: Безопасно ли хранить токен в коде?**
|
||
A: Да, если файл в .gitignore. Но для production лучше использовать environment variables
|
||
|
||
---
|
||
|
||
**Дата создания**: 27 декабря 2025 г.
|