Initial commit: Message Gateway project
- FastAPI приложение для отправки мониторинговых алертов в мессенджеры - Поддержка Telegram и MAX/VK - Интеграция с Grafana, Zabbix, AlertManager - Автоматическое создание тикетов в Jira - Управление группами мессенджеров через API - Декораторы для авторизации и скрытия эндпоинтов - Подробная документация в папке docs/ Автор: Сергей Антропов Сайт: https://devops.org.ru
This commit is contained in:
91
docs/bots.md
Normal file
91
docs/bots.md
Normal file
@@ -0,0 +1,91 @@
|
||||
# Настройка ботов
|
||||
|
||||
## Создание бота в Telegram
|
||||
|
||||
1. **Создание бота через BotFather:**
|
||||
- Откройте Telegram и найдите бота [@BotFather](https://t.me/BotFather)
|
||||
- Отправьте команду `/newbot`
|
||||
- Следуйте инструкциям BotFather:
|
||||
- Введите имя бота (например, "My Monitoring Bot")
|
||||
- Введите username бота (должен заканчиваться на `bot`, например, "my_monitoring_bot")
|
||||
- BotFather предоставит вам **токен бота** (например, `123456789:ABCdefGHIjklMNOpqrsTUVwxyz`)
|
||||
|
||||
2. **Настройка бота:**
|
||||
- Сохраните токен бота в переменную окружения `TELEGRAM_BOT_TOKEN`
|
||||
- Добавьте бота в группу Telegram, куда нужно отправлять сообщения
|
||||
- Сделайте бота администратором группы (опционально, но рекомендуется для полной функциональности)
|
||||
|
||||
3. **Получение Chat ID группы:**
|
||||
- Добавьте бота [@userinfobot](https://t.me/userinfobot) в группу
|
||||
- Отправьте любое сообщение в группе
|
||||
- @userinfobot покажет Chat ID группы (например, `-1001234567890`)
|
||||
- Сохраните Chat ID в конфигурацию групп (`config/groups.json`)
|
||||
|
||||
4. **Получение Thread ID (для тредов):**
|
||||
- Создайте тред в группе Telegram
|
||||
- Используйте бота [@userinfobot](https://t.me/userinfobot) или API Telegram для получения Thread ID
|
||||
- Thread ID можно получить через API Telegram: `getUpdates` или `getChat`
|
||||
|
||||
**Пример конфигурации для Telegram:**
|
||||
```json
|
||||
{
|
||||
"monitoring": {
|
||||
"messenger": "telegram",
|
||||
"chat_id": -1001234567890,
|
||||
"thread_id": 0,
|
||||
"config": {}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Создание бота в MAX/VK
|
||||
|
||||
1. **Создание приложения в VK:**
|
||||
- Перейдите на [VK Developers](https://dev.vk.com/)
|
||||
- Создайте новое приложение:
|
||||
- Нажмите "Создать приложение"
|
||||
- Выберите тип приложения: "Веб-сайт" или "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:**
|
||||
```json
|
||||
{
|
||||
"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 требуется, чтобы бот был добавлен в группу и имел права администратора
|
||||
|
||||
Reference in New Issue
Block a user