Files
umbrix/TELEGRAM_SETUP.md
2026-01-15 12:28:40 +03:00

188 lines
5.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 📱 Настройка 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 г.