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 г.
|