Оповещения в Telegram
Для пересылки оповещений, регистрируемых с помощью службы Monit, TING использует локальный ретранслятор - почтовый сервер Postfix, выступающий в роли почтового шлюза, который и будет переадресовывать сообщения в указанный Telegram-бот.
Если бот уже есть, то можно приступить сразу к шагу Получение идентификатора чата ChatID.
Создание нового бота в Telegram
Для создания нового бота, нужно найти в поиске в Telegram системного бота @BotFather и в окне для сообщений отправить команду /newbot
.
Затем надо будет ввести:
name - название бота для отображения в контактах и чатах (любая текстовая строка с любым набором символов, в т.ч. эмодзи);
username - уникальное короткое имя бота для использования в поиске, упоминаниях, ссылках t.me. Состоит из 5-32 символов, не чувствительны к регистру, содержат только латинские символы, цифры и символ подчёркивания. username обязательно должно заканчиваться на
bot
, например:tetris_bot
,TetrisBot
.
Примечание
Значение username в отличие от name, нельзя будет позже поменять.
В результате будет сгенерировано сообщение об успешном создании бота, содержащее токен вида 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
, который необходим для авторизации и отправки запросов в Bot API. Токен надо хранить в надёжном месте, так как он может быть использован любым пользователем для управления данного бота.
Примечание
Если токен был утерян или утрачен к нему доступ, можно отправить команду /token
для генерации нового, либо посмотреть его значение через меню в Telegram: .
Получение идентификатора чата ChatID
Для получения ChatID необходимо начать диалог с ботом с помощью команды /start
.
Затем открыть в браузере ссылку https://api.telegram.org/botTOKEN/getUpdates (где вместо TOKEN надо подставить токен вашего бота) - страница вернёт ответ в формате JSON с объектом чата, который и содержит идентификатор (значение для элемента id) ChatID:
{"ok":true,"result":[{"update_id":131164910,
"message":{"message_id":1,"from":{"id":
3356520776,"is_bot":false,"first_name":"...","last_name":"...","username":"...",
"language_code":"ru","is_premium":...},"chat":{"id":
3356520776,"first_name":"...","last_name":"...","username":"...","type":"..."},
"date":1756300014,"text":"/start","entities":[{"offset":0,"length":6,"type":
"bot_command"}]}}]}
В данном примере, идентификатором является 3356520776
.
Примечание
Для группового чата надо добавить своего бота в группу, отправить сообщение и получить идентификатор группового чата, как было описано ранее. Идентификаторы групповых чатов начинаются с символа «-», например -987654321
.
Настройка Postfix
Для ретрансляции сообщений будет использоваться служба Postfix - установить её можно на странице os-postfix
.
После установки, на странице
надо активировать службу: установить флажок для поля Включен и нажать кнопку Сохранить (остальные параметры можно оставить по умолчанию).Настройка telegram-получателя для Postfix
Теперь надо установить плагин os-postfix-tg-relay
, для добавления в Postfix возможности перенаправления в Telegram.
После установки плагина, перейдите на страницу
, нажмите + для добавления адреса бота получателя сообщений и введите необходимые параметры, например:Включен |
Установить флажок |
Локальный адрес получателя [1] |
|
Описание |
|
Токен Telegram |
токен бота |
Идентификатор чата Telegram (Chat ID) |
идентификатор чата |
Нажмите кнопку Сохранить, затем Применить.
Настройка получателя в Monit
Перейдите на страницу Основные настройки. Укажите для поля Адрес почтового сервера адрес 127.0.0.1
(если его там не было) и установите флажок для поля Включен для активации службы.
На вкладке Настройка сообщений нажмите + для добавления получателя и укажите следующие данные:
Включить сообщения |
Установить флажок |
Получатель |
|
tgbot - имя получателя, заданное на странице ; localhost - зарезервированное имя локального хоста; localdomain - имя домена, которое должно соответствовать значению поля Домен на странице .
Нажмите Сохранить, затем Применить.
Теперь уведомления службы Monit начнут приходить в чат Telegram.
Проверка работы
Для проверки можно перезагрузить службу Monit - в чат должно прийти два сообщения, уведомляющие об останове и запуске службы:
