может как нибудь осилю установочный скрипт, а пока это просто хоббиSertik писал(а): ↑14 сен 2023, 12:57 Кстати, раз Вы это всё делаете для Телеги, то Вы практически создали свою собственную библиотеку скриптов, подобную моей SATELLITE
(viewtopic.php?f=14&t=13648), только лучше !
Вы могли бы поделиться этим с сообществом, если хотите. Ну или сделайте это тогда, когда будете считать работу завершенной на каком-то этапе. Сделайте отдельный топик. Желаю успехов !
Вашу модульность возьму на заметку, может сам перейду на что-то подобное.
оповещение в телегу
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
-
- Сообщения: 126
- Зарегистрирован: 18 мар 2021, 12:45
-
- Сообщения: 1601
- Зарегистрирован: 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");
}
-
- Сообщения: 126
- Зарегистрирован: 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");
}
}
-
- Сообщения: 1601
- Зарегистрирован: 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