Dude + Scripting + telegram

Здесь выкладываем скрипты
vqd
Модератор
Сообщения: 3852
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Dude + Scripting + telegram

Сообщение vqd » 10 янв 2017, 05:29

Что то утро оказалось продуктивным. Заказы все сделал и собственно делать нечего больше.

Думаю дай ка я прикручу телеграм к Dude и заодно вспомню как скрипты на микротике по событию в Dude выполнять да еще и с параметрами

И так:

1. На микротике создаем скрипт с функцией, в моем случае имя скрипта TelegramSend

Код: Выделить всё

:global TelegramSend do={
:local id %You_telegram_id%
:local chatid %Chat_id%
:local str
:set str ($device . " - " . $status . " " . [/system clock get time])
/log warning $str
/tool fetch keep-result=no url=("https://api.telegram.org/bot" . $id . "/sendMessage\?chat_id=" . $chatid . "&text=" . $str)
}


Помещаем ее в автозагрузку при старте микротика

Код: Выделить всё

/system scheduler
add name=TelegramSend on-event="/system script run TelegramSend " start-time=startup


Собственно инициируем функцию

Код: Выделить всё

/system script run TelegramSend


Дальше идем в Dude и создаем notification (к сожалению скриптом создать не получилось и потому тупо пишу параметры)

Name = Telegram
Enable = yes
Type = execute on server
script = [$TelegramSend device=[Device.Name] status=[Service.Status]]

Собственно все, на схеме добавляем уведомление на нужном устройстве.

Делалось на Dude v6.39rc7
Есть интересная задача и бюджет? http://mikrotik.site
vqd
Модератор
Сообщения: 3852
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Re: Dude + Scripting + telegram

Сообщение vqd » 10 янв 2017, 10:22

Собственно позвонил мне человек тему эту прочитавший и говорит:- "Вячеслав, хочу что бы сообщения отправлялись по списку chat_id (всем нашим админам) и что бы в случае недоступности сервера телеграм дублировались в виде СМС через УСБ модем, все тем же админам, вот вам благодарность моя за оперативность в решении"

Ну надо так чего же не сделать то. Со списками скрипт выкладывать не буду, а вот дублирование по средствам СМС через УСБ модем ловите. СМС уходит только в случае если сервер Телеграм не доступен по какой либо причине

Код: Выделить всё

:global TelegramSend do={
:local phone 89134552316
:local id %You_telegram_id%
:local chatid %Chat_id%
:local str
:set str ($device . " - " . $status . " " . [/system clock get time])
/log warning $str
:do {
/tool fetch keep-result=no url=("https://api.telegram.org/bot" . $id . "/sendMessage\?chat_id=" . $chatid . "&text=" . $str)
/log warning "Message send to Telegram"
} on-error={
/tool sms send usb3 phone-number=$phone message=$str channel=0
/log warning "Message send to SMS"
}
}
Есть интересная задача и бюджет? http://mikrotik.site
seregan4ek
Сообщения: 5
Зарегистрирован: 05 мар 2017, 00:45

Re: Dude + Scripting + telegram

Сообщение seregan4ek » 26 май 2017, 01:45

День добрый!!! Имеем ROS 6.39.1 и Dude 6.39.1, подключенный к нему мтс модем Е173. Изучая вашу статью я попробовал ваш скрипт подстроить под себя, но что то не отрабатывает не могли бы Вы помочь? Остальные скрипты запускаемые через нетватч отрабатывают. Но там просто

Код: Выделить всё

/tool sms send usb4 "+7911хххххх" message="mtgw_down"
, если выводить

Код: Выделить всё

/system script print from=dude


Код: Выделить всё

[admin@MT-BRAS] > /system script print from=dude
Flags: I - invalid
 0   name="dude" owner="admin" policy=test last-started=may/26/2017 00:47:24
     run-count=7 source=
       :global dude do={
       :local str
       :set str ($device . " - " . $status . " " . [/system clock get time])
       /log warning $str
       :do {
       /tool sms send usb4 "+7911ххххххх" message=$str channel=0
       /log warning "Message send to SMS"
       }
       }
       


то $device . " - " . $status подкрашивает красным

П.С. Да и ни как не могу понять куда должны выводиться логи?
vqd
Модератор
Сообщения: 3852
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Re: Dude + Scripting + telegram

Сообщение vqd » 26 май 2017, 05:33

Вы модем проверьте ибо где то СМС уходит через 0 канал, а где то и через может быть. Просто отправляйте себе СМС пока результата не получите.

Про логи не понял вопроса
Есть интересная задача и бюджет? http://mikrotik.site

Вернуться в «Готовые скрипты Mikrotik»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость