Как «прикрутить» бота Telegram к Mikrotik

Сегодня я хотел бы рассказать о том, как реализовать отправку событий из Mikrotik в чат telegram.

Ни для кого не секрет, что Telegram, на данный момент, является самым быстрым мессенджером в мире, а мы все хотим получать оповещения о событиях максимально оперативно, отсюда и родилась идея данной статьи.

Итак, приступим.

Первое, что нам нужно сделать – создать собственного бота telegram.

Делается это довольно просто:

  1. Находим в поиске аккаунт с именем @botfather
  2. Нажимаем на кнопку Start в нижней части экрана

  1. После чего пишем ему команду /newbot
  2. Потом отвечаем на 2 несложных вопроса:

Первый вопрос – имя создаваемого бота Test1splaBot

Второй вопрос – ник создаваемого бота (должен оканчиваться на bot) Test_1spla_bot

  1. В ответ получим токен нашего бота, в моём случае, это 153358077:AAF4qYdUNIcWfp-SLtduVR18DuzqtXwEQAs

Затем, нужно найти нашего бота в поиске по имени @Test_1spla_bot и нажать на кнопку Start, чтобы его запустить.

После этого нужно создать групповой чат в telegram.

Делается это довольно просто:

  1. Нажимаем “Next”.
  2. Указываем название нашего чата, например, “Test_1spla_support”.
  3. Приглашаем нашего бота в данный чат, напомню, найти его теперь можно по имени @Test_1spla_bot

Итак, к данному моменту у нас есть бот, он активирован и приглашён в наш чат. Но он молчит.

Для того, чтобы заставить его говорить необходимо:

  1. Ввести в чате команду /join @Ник вашего бота, в моём случае, команда выглядела так: /join @Test_1spla_Bot
  2. После этого, нужно открыть браузер и ввести следующую строку https://api.telegram.org/botXXXXXXXXXXXXXXXXXX/get...

Где XXXXXXXXXXXXXXXXXX – токен вашего бота

  1. Откроется страница примерно следующего вида:

Находим на ней следующий текст:

"chat":{"id":-175202495

ИД групповых чатов начинаются с минуса, именно этот id нам и нужен.

Итак, мы собрали всю необходимую информацию для написания скриптов для Mikrotik'а, а именно:

Токен бота: 153358077:AAF4qYdUNIcWfp-SLtduVR18DuzqtXwEQAs

ID чата, куда он должен писать: -175202495

В RouterOS есть отличная консольная утилита для копирования файлов через ftp или http/https, утилита называется fetch, именно ей мы и будем пользоваться.

Для удобства, ниже я приведу 2 варианта кода, первый – для скриптов, второй – для написания сообщений при помощи окна терминала.

  1. /tool fetch url=”https://api.telegram.org/bot153358077:AAF4qYdUNIcWfp-SLtduVR18DuzqtXwEQAs/sendMessage?chat_id=-175202495&text=Vazhniy_tunnel_DOWN”
  2. /tool fetch url=”https://api.telegram.org/bot153358077:AAF4qYdUNIcWfp-SLtduVR18DuzqtXwEQAs/sendMessage\?chat_id=-175202495&text=Vazhniy_tunnel_DOWN”

Отличаются они только экранированием знака ? в URL.

Вот пример отправки сообщения из терминала микротика:

Вот так выглядит сообщение, отправленное в групповой чат:

По сути всё, скрипт отправки в чат готов и вы можете применять его в своих скриптах, в утилите NetWatch и многих других.

Если вы системный администратор или IT-директор, то у нас есть партнёрская программа с очень интересными предложениями по взаимовыгодному сотрудничеству.

С подробностями вы можете ознакомиться у нашего онлайн-консультанта, оставив контакты через форму обратной связи или позвонив по телефону (812) 425-12-19.

Если вам нужна помощь в настройке оповещений с оборудования или серверов, наши специалисты всегда готовы вам помочь.

Статью подготовил технический директор компании Первый Сервисный Провайдер,

Гавриш Артём.

Теги:
Поделиться с друзяьми: