Cообщения в Telegram с MikroTik или Linux
Telegram, на данный момент, является самым быстрым мессенджером в мире, а мы все хотим получать оповещения о событиях максимально оперативно.
Создание Бота
Первое, что нам нужно сделать – создать собственного бота telegram:
- Находим в поиске аккаунт с именем @botfather
- Нажимаем на кнопку Start в нижней части экрана
- После пишем ему команду /newbot
- Потом отвечаем на 2 несложных вопроса:
1. Первый вопрос – имя создаваемого бота TestBot
2. Второй вопрос – ник создаваемого бота (должен оканчиваться на bot) Test_bot
- В ответ получим токен нашего бота.
- Потом, нужно найти созданного бота в поиске по имени @Test_bot и нажать на кнопку Start, чтобы его запустить.
- После этого нужно создать групповой чат в telegram.
Делается это так:
- Нажимаем “Next”.
- Указываем название нашего чата, например, “Test_support”.
- Приглашаем нашего бота в данный чат, напомню, найти его теперь можно по имени @Test_bot
На данный моменту у нас есть бот, он активирован и приглашён в наш чат. Но он молчит.
Для того, чтобы заставить его говорить необходимо:
- Ввести в чате команду /join @Ник вашего бота, в моём случае, команда выглядела так: /join @Test_Bot
- После этого, нужно открыть браузер и ввести следующую строку https://api.telegram.org/botXXXXXXXXXXXXXXXXXX/getUpdates
Где XXXXXXXXXXXXXXXXXX – токен вашего бота
- Откроется страница,находим на ней следующий текст:
“chat”:{“id”:-274224795
ИД групповых чатов начинаются с минуса, именно этот id нам и нужен.
Итак, мы собрали всю необходимую информацию для написания скриптов для Mikrotik’а, а именно:
Токен бота: 354355077:AAF4sYdUNIeWfp-SLtduVR18FuSqtXwEfAs
ID чата, куда он должен писать: –274224795
Настройка скрипта в Mikrotik
В RouterOS есть отличная консольная утилита для копирования файлов через ftp или http/https, утилита называется fetch, именно ей мы и будем пользоваться.
Для удобства, ниже я приведу 2 варианта кода, первый – для скриптов, второй – для написания сообщений при помощи окна терминала.
/tool fetch url=”https://api.telegram.org/bot354355077:AAF4sYdUNIeWfp-SLtduVR18FuSqtXwEfAs/sendMessage?chat_id=-274224795&text=Bla_bla_bla” /tool fetch url=”https://api.telegram.org/bot354355077:AAF4sYdUNIeWfp-SLtduVR18FuSqtXwEfAs/sendMessage\?chat_id=-274224795&text=Bla_bla_bla”
Отличаются они только экранированием знака ? в URL.
Cкрипт отправки в чат готов и вы можете применять его в своих скриптах, в утилите NetWatch и многих других.
Отправка уведомлений из Linux
Микротиком мы не ограничиваемся. Сообщения можно так же отправлять и с серверов на ОС *nix.
Потребуется установить пакет curl:
root@disnetern#: apt-get update root@disnetern#: apt-get install curl
Теперь пишем любой скрипт с нашими нуждами и фантазией, и по нужным условиям отправляем сообщение через бота:
curl --header 'Content-Type: application/json' --request 'POST' --data '{"chat_id":"240313162","text":" Ваш_текст_сообщения " }' "https://api.telegram.org/bot283193794:AAFhtВ21ВyAYcdUm7j6YSM11uCLjTvRtC_w/sendMessage"
Где, “240313162” – id чата с нами,
bot283193794:AAFhtВ21ВyAYcdUm7j6YSM11uCLjTvRtC_w – токен бота
” Ваш_текст_сообщения “ – текст сообщения (сюда же можно всунуть любую переменную из скрипта)
Comments
So empty here ... leave a comment!