Страница 2 из 2

Re: Помощь со скриптами

Добавлено: 23 июн 2020, 15:57
Sertik
# тут вставите отправку сообщения в Вашу телегу
/tool fetch url="https://api.telegram.org/botxxxxxxxxx/s ... xxxx&text=[:tostr $listaddress]"

Вот сюда. Так может не сработать, тогда делаем так:

:local smstext [:tostr $listaddress]
/tool fetch url="https://api.telegram.org/botxxxxxxxxx/s ... t=$smstext"

Re: Помощь со скриптами

Добавлено: 25 июн 2020, 16:15
keyrus
Sertik писал(а): 23 июн 2020, 15:57
:local smstext [:tostr $listaddress]
/tool fetch url="https://api.telegram.org/botxxxxxxxxx/s ... t=$smstext"
Работает, но как добавить текстовый комментарий к выводимому тексту, так что бы он не отправлялся каждый раз когда запускается скрипт, а только вместе с адресами.
Будет ли работать if в таком скрипте?

Re: Помощь со скриптами

Добавлено: 26 июн 2020, 12:29
Sertik
:if конечно работать будет.

Перед отправкой надо проверить были ли добавлены в адрес-лист новые адреса ...

В Вашем случае пишем так:

:if ([:len $listaddress]>0) do={ :local smstext [:tostr $listaddress]; /tool fetch url="https://api.telegram.org/botxxxxxxxxx/s ... t=("Добавлены новые адреса: "."$smstext")
}

Тогда отправка будет "с комментарием" и работать только когда новый адрес добавлен.

Ну всё, разжевал, кажется, осталось только проглотить :-)

Re: Помощь со скриптами

Добавлено: 30 июн 2020, 15:13
keyrus
Sertik писал(а): 26 июн 2020, 12:29 :if конечно работать будет.

Перед отправкой надо проверить были ли добавлены в адрес-лист новые адреса ...

В Вашем случае пишем так:

:if ([:len $listaddress]>0) do={ :local smstext [:tostr $listaddress]; /tool fetch url="https://api.telegram.org/botxxxxxxxxx/s ... t=("Добавлены новые адреса: "."$smstext")
}

Тогда отправка будет "с комментарием" и работать только когда новый адрес добавлен.

Ну всё, разжевал, кажется, осталось только проглотить :-)

Собственно я пытался делать через if но у меня не получилось, и это тоже не отрабатываетИзображение

После вставки if перестало работать, как и у меня когда я пытался дописать сам, по этому и задал вопрос про оператор if.

Я так же сравнивал len $listaddress и ничего не происходило, даже комментарий не дописывается.

Re: Помощь со скриптами

Добавлено: 30 июн 2020, 17:43
Sertik
Покажите Ваш скрипт целиком. Я не гадалка, не могу знать где ошибка у Вас.

Re: Помощь со скриптами

Добавлено: 01 июл 2020, 09:30
keyrus
Sertik писал(а): 30 июн 2020, 17:43 Покажите Ваш скрипт целиком. Я не гадалка, не могу знать где ошибка у Вас.

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

:local listaddress [:toarray ""]
:local myaddresslist "test"
:local mycomment "old"

:foreach i in=[/ip firewall address-list find where list=$myaddresslist] do={:if ([:len [/ip firewall address-list get $i comment]]=0) do={
:set listaddress [:put ($listaddress, [/ip firewall address-list get $i address])]
/ip firewall address-list set $i comment=$mycomment}};


:log info $listaddress

:log info [:len $listaddress]

:if ([:len $listaddress]>0) do={ :local smstext [:tostr $listaddress]; 
/tool fetch url="https://api.telegram.org/bot11111111:aaaaaaaaaaaaaaaaaaa/sendMessage\?chat_id=-111111111111&text=("add new addres: "."$smstext")" }

Re: Помощь со скриптами

Добавлено: 01 июл 2020, 13:07
Virtue
keyrus писал(а): 01 июл 2020, 09:30 скрипт
позволю себе вмешаться в диалог, поигрался с синтаксисом, попробуйте так:

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

:local listaddress [:toarray ""]
:local myaddresslist "test"
:local mycomment "old"

:foreach i in=[/ip firewall address-list find where list=$myaddresslist] do={:if ([:len [/ip firewall address-list get $i comment]]=0) do={
:set listaddress [:put ($listaddress, [/ip firewall address-list get $i address])]
/ip firewall address-list set $i comment=$mycomment}};


:log info $listaddress

:log info [:len $listaddress]

:if ([:len $listaddress]>0) do={ :local smstext [:tostr $listaddress]; 
/tool fetch url="https://api.telegram.org/bot11111111:aaaaaaaaaaaaaaaaaaa/sendMessage\?chat_id=-111111111111&text= add new addres: $smstext" }

Re: Помощь со скриптами

Добавлено: 01 июл 2020, 13:27
keyrus
Virtue писал(а): 01 июл 2020, 13:07
keyrus писал(а): 01 июл 2020, 09:30 скрипт
позволю себе вмешаться в диалог, поигрался с синтаксисом, попробуйте так:

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

:local listaddress [:toarray ""]
:local myaddresslist "test"
:local mycomment "old"

:foreach i in=[/ip firewall address-list find where list=$myaddresslist] do={:if ([:len [/ip firewall address-list get $i comment]]=0) do={
:set listaddress [:put ($listaddress, [/ip firewall address-list get $i address])]
/ip firewall address-list set $i comment=$mycomment}};


:log info $listaddress

:log info [:len $listaddress]

:if ([:len $listaddress]>0) do={ :local smstext [:tostr $listaddress]; 
/tool fetch url="https://api.telegram.org/bot11111111:aaaaaaaaaaaaaaaaaaa/sendMessage\?chat_id=-111111111111&text= add new addres: $smstext" }
Так работает, спасибо

Re: Помощь со скриптами

Добавлено: 01 июл 2020, 13:28
keyrus
Sertik писал(а): 30 июн 2020, 17:43 Покажите Ваш скрипт целиком. Я не гадалка, не могу знать где ошибка у Вас.
Совестными усилиями доковыряли, спасибо
:ya_hoo_oo:

Re: Помощь со скриптами

Добавлено: 01 июл 2020, 21:56
Sertik
Ну слава богу ! Я опоздал, но товарищи выручили ...