может как нибудь осилю установочный скрипт, а пока это просто хоббиSertik писал(а): ↑14 сен 2023, 12:57 Кстати, раз Вы это всё делаете для Телеги, то Вы практически создали свою собственную библиотеку скриптов, подобную моей SATELLITE
(viewtopic.php?f=14&t=13648), только лучше !
Вы могли бы поделиться этим с сообществом, если хотите. Ну или сделайте это тогда, когда будете считать работу завершенной на каком-то этапе. Сделайте отдельный топик. Желаю успехов !
Вашу модульность возьму на заметку, может сам перейду на что-то подобное.
оповещение в телегу
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
-
- Сообщения: 140
- Зарегистрирован: 18 мар 2021, 12:45
-
- Сообщения: 1657
- Зарегистрирован: 15 сен 2017, 09:03
Хобби хорошее, можно только приветствовать. Главное в этом вопросе - стабильность. Продолжайте, мы радуемся Вашим успехам и желаем дальнейших ! Скриптописателей сейчас мало - настоящие программисты заняты вероятно на основной работе - им некогда. Кто-то появляется, напишет что-нибудь и исчезает в никуда. Так что всегда хорошо, когда в семье есть прибавление. 
P/S установочный скрипт это недолго. Раз у Вас все скрипты в репозитории делается просто (мой метод):
пишите маленький установочный скрипт, в котором глобальные настройки и стартап.
сохраняете копию репозитория /system script export file=backup.rsc
Потом удаляете смело все лишние скрипты.
Создаёте нового юзера под именем Вашей будущей биллиотеки.
Заходите под ним.
Каждый скрипт открываете, добавляете пробел и стираете, сохраняете. Он сохранится под owner нового юзера. Ну и комментарий скрипту можно добавить соответствующий.
Затем делаете /system script export file=myScriptLib.rsc
Всё !
Стираете все скрипты и делаете /import file=backup.rsc (это может занять несколько минут, дождитесь successful !)
Когда пользователь сделает на своём роутере /import file=myScriptLib.rsc он увидит все Ваши скрипты под новым owner и ему будет удобно их дифференцировать со своими, а также он увидит и комментарии к ним.
Удачи !

P/S установочный скрипт это недолго. Раз у Вас все скрипты в репозитории делается просто (мой метод):
пишите маленький установочный скрипт, в котором глобальные настройки и стартап.
сохраняете копию репозитория /system script export file=backup.rsc
Потом удаляете смело все лишние скрипты.
Создаёте нового юзера под именем Вашей будущей биллиотеки.
Заходите под ним.
Каждый скрипт открываете, добавляете пробел и стираете, сохраняете. Он сохранится под owner нового юзера. Ну и комментарий скрипту можно добавить соответствующий.
Затем делаете /system script export file=myScriptLib.rsc
Всё !
Стираете все скрипты и делаете /import file=backup.rsc (это может занять несколько минут, дождитесь successful !)
Когда пользователь сделает на своём роутере /import file=myScriptLib.rsc он увидит все Ваши скрипты под новым owner и ему будет удобно их дифференцировать со своими, а также он увидит и комментарии к ним.
Удачи !
фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947
-
- Сообщения: 19
- Зарегистрирован: 09 фев 2018, 12:03
Добрый день,
Есть скрипт отправки уведомления на почту ip адрес при попадании их в Adress list он работает.
mail
Хочу переделать отправку в телеграм, но из-за $ipList сообщение не оправляется.
Telegram
Подскажите пожалуйста где ошибка?
Есть скрипт отправки уведомления на почту ip адрес при попадании их в Adress list он работает.
Код: Выделить всё
:log info message=("Start Sending Report");
:local ipList value="";
:foreach tmpAddress in=[/ip firewall address-list find where dynamic=yes and list=BlackListWinbox] do={
:set $ipList value=([/ip firewall address-list get $tmpAddress value-name=address]."\r\n".$ipList);
}
:if ($ipList != "") do={
/tool e-mail send from="mikrotik01@fcom.ru" to="warning@fcom.ru" subject=("BlackListWinbox ".[/system clock get date]." ".[/system clock get time]) body=("Auto-blacklisted host:\r\n".$ipList)
:log info message=("Sending Report End");
}
Telegram
Код: Выделить всё
:log info message=("Start Sending Report");
:local ipList "";
:local hasEntries false;
:foreach tmpAddress in=[/ip firewall address-list find where dynamic=yes and list=BlackListWinbox] do={
:set ipList ($ipList . "\r\n" . [/ip firewall address-list get $tmpAddress value-name=address]);
:set hasEntries true;
}
:if ($hasEntries) do={
:local messageBody ("List of auto-blacklisted host:\r\n" .$ipList);
/tool fetch url=("https://api.telegram.org/bot1003412305:AAE_XIDNKAXWBYE9J33JААRB0U2FP2LbE/sendmessage?chat_id=-4178532902&text= .$messageBody") mode=https keep-result=no
:log info message=("Sending Report End");
}
-
- Сообщения: 140
- Зарегистрирован: 18 мар 2021, 12:45
замените в коде
:set $ipList ($ipList . "%0A" . [/ip firewall address-list get $tmpAddress value-name=address]);
:set $ipList ($ipList . "%0A" . [/ip firewall address-list get $tmpAddress value-name=address]);
-
- Сообщения: 19
- Зарегистрирован: 09 фев 2018, 12:03
Спасибо!
Исправленый код
Исправленый код
Код: Выделить всё
:log info message=("Start Sending Report");
:local ipList "";
:local hasEntries false;
:foreach tmpAddress in=[/ip firewall address-list find where dynamic=yes and list=BlackListWinbox] do={
:set $ipList ($ipList . "%0A" . [/ip firewall address-list get $tmpAddress value-name=address]);
:set hasEntries true;
}
:if ($hasEntries) do={
:local messageBody ("List of auto-blacklisted host:%0A" .$ipList);
/tool fetch url=("https://api.telegram.org/bot1003412305:AAE_XIDNKAXWBYE9J33JААRB0U2FP2LbE/sendmessage?chat_id=-4178532902&text= .$messageBody") mode=https keep-result=no
:log info message=("Sending Report End");
}
}
-
- Сообщения: 1657
- Зарегистрирован: 15 сен 2017, 09:03
Если убрать всё ненужное, то получится так:
Код: Выделить всё
:log info "Start Sending Report"
:local ipList
:local hasEntries false
:foreach tmpAddress in=[/ip firewall address-list find where dynamic=yes and list=BlackListWinbox] do={
:set $ipList ($ipList . "%0A" . [/ip firewall address-list get $tmpAddress address])
:set hasEntries true
}
:if ($hasEntries) do={
:local messageBody ("List of auto-blacklisted host:%0A" .$ipList)
/tool fetch url=("https://api.telegram.org/bot1003412305:AAE_XIDNKAXWBYE9J33JААRB0U2FP2LbE/sendmessage?chat_id=-4178532902&text= .$messageBody") mode=https keep-result=no
:log info "Sending Report End"
}
}
фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947
-
- Сообщения: 9
- Зарегистрирован: 24 сен 2024, 14:04
Всем привет!
Ищу рабочий скрипт отправки логов в телеграм.
для ROS 7.15
с обработкой/отправкой всех строк лога, а не только последнего.
и без сложных систем управления роутером типа Таран.
попробовал пару найденных на форуме - не работают.
вроде все темы перечитал.
Спасибо!
Ищу рабочий скрипт отправки логов в телеграм.
для ROS 7.15
с обработкой/отправкой всех строк лога, а не только последнего.
и без сложных систем управления роутером типа Таран.
попробовал пару найденных на форуме - не работают.
вроде все темы перечитал.
Спасибо!
hap AC2 / ROS 7.15.2
- Brook
- Сообщения: 156
- Зарегистрирован: 24 май 2022, 00:29
Вот не плохой вариант. Скрипт работает в фоне, пока его не выключить в Jobs. Внутри можно замутить проверку, что отправляем, а что нет. В текущем варианте отправляет все по мере появления.
chatID - чат или группа, куда будут отправляться сообщения.
teSendMessage - функция отправки сообщения в телеграм, есть в моем посте Телеграмма для Mikrotik, можно и свою прикрутить.
Код: Выделить всё
:global EventHandler do={
:global teSendMessage
:local oneFeed "%0D%0A"
:local logDefaultPicture "\F0\9F\93\84"
:local chatID "-100234567890"
:local messageText "$logDefaultPicture <b>$1 - $2 - $3</b> $oneFeed$oneFeed$4 $oneFeed"
:if ([:len $1] != 0) do={
$teSendMessage fChatID=$chatID fText=$messageText
}
:return 0
}
log/print follow-only where [$EventHandler $time $topics $buffer $message]
teSendMessage - функция отправки сообщения в телеграм, есть в моем посте Телеграмма для Mikrotik, можно и свою прикрутить.
-
- Сообщения: 9
- Зарегистрирован: 24 сен 2024, 14:04
Спасибо! Очень красивый и лаконичный код.
К сожалению я не программист и мне там ничо непонятно
Если Вас не затруднит хочу попросить Вас
1. вставить функцию отправки в код.
2. как правильно задать фильтр по Topics "error/ warning/ critical", чтобы в тг присылалсь только они?
3. вот эти вот фоновые задания Jobs - скрипт сам стартует в случае перезагрузки или как его добавить в планировшик?
4. права на скрипт какие выставлять?
п.с. модульная структура это правильно, если использовать много скриптов от одного производителя. мне много не надо. копировать-вставить один скрипт и будет счастье. и жаль, что ваш проект закрылся.
К сожалению я не программист и мне там ничо непонятно

Если Вас не затруднит хочу попросить Вас
1. вставить функцию отправки в код.
2. как правильно задать фильтр по Topics "error/ warning/ critical", чтобы в тг присылалсь только они?
3. вот эти вот фоновые задания Jobs - скрипт сам стартует в случае перезагрузки или как его добавить в планировшик?
4. права на скрипт какие выставлять?
п.с. модульная структура это правильно, если использовать много скриптов от одного производителя. мне много не надо. копировать-вставить один скрипт и будет счастье. и жаль, что ваш проект закрылся.
hap AC2 / ROS 7.15.2