Настройка каналов оповещений через file
Параметы для конфигурационного файла
seed
Определяет путь до папки с seed-файлами (от корня проекта). Читаются все файлы с расширением .yaml
в указанной директории.
Формат: seed: <путь_к_файлам>/*.yaml
Пример: seed: seed/*.yaml
fail_on_malformed_seed
Управляет обработкой ошибок в seed-файлах:
true
– остановка программы при первой ошибке (например, неверный формат или отсутствие поля)false
– пропуск невалидных каналов с продолжением работы
Пример: fail_on_malformed_seed: true
delete_unchangeable_channels
Контролирует синхронизацию между seed-файлами и БД:
true
– удаляет из БД каналы, отсутствующие в seed-файлах (с обновлением существующих)false
– добавляет новые и обновляет существующие каналы (без удаления)
Уникальность канала определяется по имени. Каналы из seed-файлов создаются (если отсутствуют) или перезаписываются (если существуют).
Создание seed-файлов:
Вам нужно разместить YAML-файлы в определённой директории, путь к которой указан в параметре seed
вашего конфигурационного файла. Нельзя создавать вложенные папки внутри этой директории — все YAML-файлы должны лежать прямо в корне указанной папки.
Подготовка к настройке Telegram
Ограничения Telegram
Сообщения в Telegram ограничены 4096 символами UTF-8. Для длинных сообщений рекомендуется использовать другие каналы.
Получение токена бота
Откройте Telegram и найдите бота @BotFather
Отправьте команду
/newbot
и следуйте инструкциям:Укажите имя бота (должно заканчиваться на
bot
или_bot
)
После создания бота скопируйте токен API - он понадобится в параметре
bot_token
Документация: Официальное руководство по созданию ботов
Получение ID чата
Откройте настройки Telegram (меню слева → Settings)
Перейдите в раздел Advanced
Выберите Experimental Settings
Активируйте опцию Show Peer Id in profile
Для получения ID:
Личного чата: меню слева → Settings → My Profile → ID отобразится под фото
Группы: откройте информацию о группе (групповой чат → название вверху) → ID в разделе информации
Канала: откройте информацию о канале (канал → название вверху) → ID в разделе информации
Альтернативные методы:
Важные требования
Для групп и каналов:
Бот должен быть добавлен как администратор
Должны быть включены права на отправку сообщений
Для личных сообщений:
Пользователь должен начать диалог с ботом, отправив команду
/start
Подготовка к настройке Mattermost
Получение имени канала
Откройте нужный канал в Mattermost
В заголовке канала нажмите на название → View Info
В разделе Info вы увидете имя канала
Получение Webhook для Mattermost
Для настройки вебхука Mattermost ознакомьтесь с официальной документацией: Mattermost Incoming Webhooks
Настройка каналов в seed-файле:
Каждый файл должен содержать список каналов в формате:
- name: УникальноеИмяКанала # Имя канала
type: telegram|mattermost|email # Тип канала
settings: # Параметры канала
параметр_1: значение
параметр_2: значение
- name: ДругойКанал # Следующий канал
type: ...
settings: ...
Параметры для типов каналов
Telegram (type: telegram)
settings:
bot_token: токен_бота # Полученный через @botfather
chat_id: ID_чата # Пример: 123456789 (для лочного диалога) или -100123456789 (для каналов и групп)
Особенности:
Для личного диалога:
chat_id
(пример: 123456789)Для каналов и групп:
-100chat_id
(пример: -100123456789)
Mattermost (type: mattermost)
settings:
chat_name: имя-канала # Slug-имя канала в Mattermost
webhook_url: URL # Полный URL вебхука, пример: https://mattermost.example.com/hooks/xxx
Email (type: email)
settings:
host: адрес SMTP-сервера # Пример: smtp.gmail.com
port: порт сервера # Пример: 587
username: логин SMTP # Пример: alerts@company.com
password: пароль SMTP
from: email отправителя # Пример: alerts@company.com