Files
MessageGateway/docs/bots.md
Sergey Antropov b90def35ed Initial commit: Message Gateway project
- FastAPI приложение для отправки мониторинговых алертов в мессенджеры
- Поддержка Telegram и MAX/VK
- Интеграция с Grafana, Zabbix, AlertManager
- Автоматическое создание тикетов в Jira
- Управление группами мессенджеров через API
- Декораторы для авторизации и скрытия эндпоинтов
- Подробная документация в папке docs/

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-11-12 20:25:11 +03:00

4.2 KiB
Raw Permalink Blame History

Настройка ботов

Создание бота в Telegram

  1. Создание бота через BotFather:

    • Откройте Telegram и найдите бота @BotFather
    • Отправьте команду /newbot
    • Следуйте инструкциям BotFather:
      • Введите имя бота (например, "My Monitoring Bot")
      • Введите username бота (должен заканчиваться на bot, например, "my_monitoring_bot")
    • BotFather предоставит вам токен бота (например, 123456789:ABCdefGHIjklMNOpqrsTUVwxyz)
  2. Настройка бота:

    • Сохраните токен бота в переменную окружения TELEGRAM_BOT_TOKEN
    • Добавьте бота в группу Telegram, куда нужно отправлять сообщения
    • Сделайте бота администратором группы (опционально, но рекомендуется для полной функциональности)
  3. Получение Chat ID группы:

    • Добавьте бота @userinfobot в группу
    • Отправьте любое сообщение в группе
    • @userinfobot покажет Chat ID группы (например, -1001234567890)
    • Сохраните Chat ID в конфигурацию групп (config/groups.json)
  4. Получение Thread ID (для тредов):

    • Создайте тред в группе Telegram
    • Используйте бота @userinfobot или API Telegram для получения Thread ID
    • Thread ID можно получить через API Telegram: getUpdates или getChat

Пример конфигурации для Telegram:

{
  "monitoring": {
    "messenger": "telegram",
    "chat_id": -1001234567890,
    "thread_id": 0,
    "config": {}
  }
}

Создание бота в MAX/VK

  1. Создание приложения в VK:

    • Перейдите на VK Developers
    • Создайте новое приложение:
      • Нажмите "Создать приложение"
      • Выберите тип приложения: "Веб-сайт" или "Standalone"
      • Введите название приложения
      • Подтвердите создание
  2. Получение Access Token:

    • В настройках приложения найдите раздел "Токены"
    • Создайте новый токен:
      • Выберите права доступа (scope):
        • messages - для отправки сообщений
        • photos - для отправки фотографий
        • docs - для отправки документов
      • Скопируйте полученный токен
    • Сохраните токен в переменную окружения MAX_ACCESS_TOKEN
  3. Получение Peer ID (ID чата):

    • Peer ID можно получить через API VK: messages.getConversations
    • Для группы: Peer ID = 2000000000 + group_id
    • Для беседы: Peer ID можно получить через messages.getChat
  4. Настройка приложения:

    • Установите переменные окружения:
      • MAX_ACCESS_TOKEN - токен доступа
      • MAX_API_VERSION - версия API (по умолчанию 5.131)
      • MAX_ENABLED=true - включить поддержку MAX/VK

Пример конфигурации для MAX/VK:

{
  "max_alerts": {
    "messenger": "max",
    "chat_id": "123456789",
    "thread_id": null,
    "config": {
      "access_token": "your_access_token_here",
      "api_version": "5.131"
    }
  }
}

Примечания:

  • MAX/VK не поддерживает треды (thread_id всегда null)
  • Peer ID может быть как числом, так и строкой
  • Для работы с группами VK требуется, чтобы бот был добавлен в группу и имел права администратора