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

5.8 KiB
Raw Permalink Blame History

📱 Настройка 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. Найдите в ответе:

    {
      "message": {
        "chat": {
          "id": -1001234567890,   ЭТО ВАШ CHAT_ID
          "title": "Umbrix Logs"
        }
      }
    }
    

Вариант B: Через бота @userinfobot

  1. Добавьте @userinfobot в вашу группу
  2. Он автоматически напишет CHAT_ID группы

📋 Шаг 4: Настройка в Коде

  1. Скопируйте файл-образец:

    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. Вставьте свои данные:

    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:

    echo "lib/core/telegram_config.dart" >> .gitignore
    

📋 Шаг 5: Проверка

  1. Соберите приложение:

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