MikroTik Telegram bot, настройка отправки push сообщений

mikrotik telegram bot настройка отправки push сообщений
В инструкции приведён пример создания Telegram-бота для отправки push-уведомлений при недоступности одного из узлов, связанных с маршрутизатором MikroTik. В роли таких узлов чаще всего выступает основной провайдер или элемент локальной сети, например сервер.
Telegram-бот представляет собой программу, выполняющую заранее определённые функции. В связке с MikroTik боту отводится задача информирования о состоянии сети.
РЕКОМЕНДАЦИЯ
Наша команда советует изучить углубленный курс по администрированию сетевых устройств MikroTik.
В курсе много лабораторных работ по итогам которых вы получите обратную связь.
После обучения вы получите диплом гос. образца РФ. Подробности и доступ к началу курса бесплатно тут.

Настройка Telegram-бота для MikroTik

Первым этапом настройки Telegram-бота для MikroTik является его регистрация. Сделать это можно как с мобильного устройства, так и с ПК. Для этого необходимо открыть Telegram и найти контакт BotFather.
настройка telegram mikrotik поиск бота botfather
Это специальный сервисный бот Telegram, который используется для создания новых ботов. В чате с BotFather необходимо ввести команду для регистрации нового Telegram-бота:
/newbot
ввести имя Telegram бота(уникальность необязательна)
MT-Sender
определить уникальное имя, с обязательным указанием окончания типа _bot
MikrotikConfigUkr_bot
настройка telegram mikrotik регестрация нового бота
На выходе выдается API-токен, который необходимо сохранить — он будет использоваться для идентификации отправителя.
Следующим шагом создаётся Telegram-канал, в который настроенный бот будет отправлять уведомления о состоянии работы роутера MikroTik.
настройка telegram mikrotik создание канала
настройка telegram mikrotik задать частный канал
После этого Telegram-бот добавляется в канал с правами по умолчанию.
настройка telegram mikrotik добавить в канал бота
настройка telegram mikrotik назначить бота администратором
Для того чтобы Telegram-бот начал передавать сообщения, его необходимо активировать командой /start или с помощью соответствующей кнопки в личном чате с ботом.
/start
настройка telegram mikrotik запуск бота
Затем нужно отправить тестовое сообщение в канал MT-Status. Это позволит получить chat id на следующем этапе.
Заключительным параметром для настройки Telegram-бота является chat id, который можно определить, перейдя по ссылке:
https://api.telegram.org/bot1434763164:AAF4rlEsDiAu0l7mJKXIMfNzT-zV2Qc3CbQ/getUpdates
Где 1434763164:AAF4rlEsDiAu0l7mJKXIMfNzT-zV2Qc3CbQ — это API-токен, выданный BotFather. В окне браузера будет отображена аналогичная информация:
{"ok":true,"result":[{"update_id":34080233,
"channel_post":{"message_id":2,"sender_chat":{"id":-1001186561350,"title":"MT-Status","type":"channel"},"chat":{"id":-1001186561350,"title":"MT-Status","type":"channel"},"date":1607945201,"text":"/start","entities":[{"offset":0,"length":6,"type":"bot_command"}]}}]}
Где указано "chat":{"id":-1001186561350}, именно значение -1001186561350 используется как необходимый параметр.
Для отправки сообщения в Telegram-канал достаточно выполнить команду:
/tool fetch url="https://api.telegram.org/bot1434763164:AAF4rlEsDiAu0l7mJKXIMfNzT-zV2Qc3CbQ/sendMessage\?chat_id=-1001186561350&text=Mikrotik-Config.ukr testing telegram bot" dst-path=Log.txt

Настройка Telegram-бота в Netwatch.

Полученный код может быть использован в утилите Netwatch. В качестве примера рассматривается сценарий с правилами переключения провайдеров, которые дополняются отправкой сообщения в Telegram при событиях типа UP и DOWN.
Настройка выполняется в разделе Tools → Netwatch.
настройка telegram mikrotik скрипт netwatch для статуса up
настройка telegram mikrotik скрипт netwatch для статуса down
/tool netwatch
add disabled=yes down-script="/ip route disable [find comment=\"ISP-1\"]\r\
\n/ip route enable [find comment=\"ISP-2\"]\r\
\n:foreach i in=[/ip firewall connection find protocol~\"tcp\"] do={ /ip f\
irewall connection remove \$i }\r\
\n:foreach i in=[/ip firewall connection find protocol~\"udp\"] do={ /ip f\
irewall connection remove \$i }\r\
\n/tool fetch url=\"https://api.telegram.org/bot1434763164:AAF4rlEsDiAu0l7\
mJKXIMfNzT-zV2Qc3CbQ/sendMessage\\\?chat_id=-1001186561350&text=ISP-1 IS D\
OWN\" dst-path=Log.txt\r\
\nlog warning (\"ISP-1 IS DOWN\")" host=8.8.8.8 interval=30s up-script="/i\
p route disable [find comment=\"ISP-2\"]\r\
\n/ip route enable [find comment=\"ISP-1\"]\r\
\n:foreach i in=[/ip firewall connection find protocol~\"tcp\"] do={ /ip f\
irewall connection remove \$i }\r\
\n:foreach i in=[/ip firewall connection find protocol~\"udp\"] do={ /ip f\
irewall connection remove \$i }\r\
\n/tool fetch url=\"https://api.telegram.org/bot1434763164:AAF4rlEsDiAu0l7\
mJKXIMfNzT-zV2Qc3CbQ/sendMessage\\\?chat_id=-1001186561350&text=ISP-1 IS U\
P\" dst-path=Log.txt\r\
\nlog warning (\"ISP-1 IS UP\")"
РЕКОМЕНДАЦИЯ
Вы хорошо разбираетесь в Микротиках? Или впервые недавно столкнулись с этим оборудованием и не знаете, с какой стороны к нему подступиться? В обоих случаях вы найдете для себя полезную информацию в углубленном курсе «Администрирование сетевых устройств MikroTik». В курсе много практических лабораторных работ по результату выполнения которых вы получите обратную связь. После окончания обучения вы получите диплом гос. образца РФ. Подробности и доступ к началу курса бесплатно тут.