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

Простой скрипт отправки в телеграм изменившегося wan адреса

Добавлено: 05 июн 2018, 17:40
Evghenii

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

:global routername [/system resource get board-name]
:global sendToTele "https://api.telegram.org/botxxxxxxxxxx:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/sendmessage\?chat_id=zzzzzzzzzzz&text=";
:global oldIP
:global newIP [:resolve myip.opendns.com server=208.67.222.222];

if ($newIP=$oldIP) do={} else={
/tool fetch url="$sendToTele $routername%0Aold IP:$oldIP %F0%9F%8C%8D - new IP:$newIP %f0%9f%8c%8f" keep-result=no} 

set oldIP $newIP
скрипт в шедулер на выполнение как часто необходимо

Re: Простой скрипт отправки в телеграм изменившегося wan адреса

Добавлено: 06 июл 2018, 07:49
remvord
Что нужно писать вместо всех этих xxxxxxxx yyyyyyyyy zzzzzzx?

Re: Простой скрипт отправки в телеграм изменившегося wan адреса

Добавлено: 06 июл 2018, 11:42
Evghenii
id token бота и chat id

Re: Простой скрипт отправки в телеграм изменившегося wan адреса

Добавлено: 06 июл 2018, 19:27
remvord
ok
можете прояснить где мы определили переменную oldIP как mikrotik понимает какой ip сейчас на wan?

Re: Простой скрипт отправки в телеграм изменившегося wan адреса

Добавлено: 06 июл 2018, 23:27
podarok66
Третья строка - заявка на использование переменной в скрипте, так сказать. (Если переменная имеет значение, оно и будет, если переменной не существует, значит появится пустая)
Последняя строка - переменной присваивается новое значение.
Четвертая строка - объявление переменной, значение которой будет внешний адрес Тика.
Рекомендую использовать знаки препинания, мы же не пятиклассники в школьном чате...

Re: Простой скрипт отправки в телеграм изменившегося wan адреса

Добавлено: 10 янв 2022, 04:04
dimk__o
Evghenii писал(а): 05 июн 2018, 17:40

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

:global newIP [:resolve myip.opendns.com server=208.67.222.222];
Сервер отваливается
Лучше взять вариант https://forum.mikrotik.com/viewtopic.ph ... 80#p785164

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

# get the current IP address from the internet (in case of double-nat)
/tool fetch mode=http address="checkip.dyndns.org" src-path="/" dst-path="/dyndns.checkip.html"
:local result [/file get dyndns.checkip.html contents]
# parse the current IP result
:local resultLen [:len $result]
:local startLoc [:find $result ": " -1]
:set startLoc ($startLoc + 2)
:local endLoc [:find $result "</body>" -1]
:global newIP [:pick $result $startLoc $endLoc]

Re: Простой скрипт отправки в телеграм изменившегося wan адреса

Добавлено: 24 янв 2022, 11:47
bing90
Evghenii писал(а): 05 июн 2018, 17:40

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

:global routername [/system resource get board-name]
:global sendToTele "https://api.telegram.org/botxxxxxxxxxx:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/sendmessage\?chat_id=zzzzzzzzzzz&text=";
:global oldIP
:global newIP [:resolve myip.opendns.com server=208.67.222.222];

if ($newIP=$oldIP) do={} else={
/tool fetch url="$sendToTele $routername%0Aold IP:$oldIP %F0%9F%8C%8D - new IP:$newIP %f0%9f%8c%8f" keep-result=no} 

set oldIP $newIP
скрипт в шедулер на выполнение как часто необходимо
а где хранится oldIP, когда скрипт не выполняется? Я почему-то думал, переменные живут только в скрипте и пока он запущен.

Re: Простой скрипт отправки в телеграм изменившегося wan адреса

Добавлено: 24 янв 2022, 13:22
Virtue
bing90 писал(а): 24 янв 2022, 11:47 а где хранится oldIP, когда скрипт не выполняется? Я почему-то думал, переменные живут только в скрипте и пока он запущен.
вы говорите про локальные переменные, а еще бывают глобальные

Re: Простой скрипт отправки в телеграм изменившегося wan адреса

Добавлено: 24 янв 2022, 14:06
bing90
Virtue писал(а): 24 янв 2022, 13:22
bing90 писал(а): 24 янв 2022, 11:47 а где хранится oldIP, когда скрипт не выполняется? Я почему-то думал, переменные живут только в скрипте и пока он запущен.
вы говорите про локальные переменные, а еще бывают глобальные
Я всего пару дней начинаю дружить с микротиками, поэтому у меня столько вопросов :smu:sche_nie:
1 Где хранятся глобальные переменные?
2 Как посмотреть список всех глобальных переменных, которые сейчас есть на роутере?
3 Нужно периодически подчищать переменные, которые я создал, чтобы не засорять память? Если да, то как это делать?

(если есть какая-то полезная статья, то буду рад ссылке :-): )

Re: Простой скрипт отправки в телеграм изменившегося wan адреса

Добавлено: 24 янв 2022, 14:51
Sertik