Но можно воспользоваться API сайта www.callmebot.com.
Для использования необходимо получить apikey от бота, прежде чем использовать API. Для этого:
1. Добавьте номер телефона +34 644 66 32 62 в контакты вашего смартфона или планшета. (Назовите это так, как вы хотите)
2. Отправьте сообщение "I allow callmebot to send me messages" новому созданному контакту (конечно, используя WhatsApp).
3. Подождите, пока вы не получите сообщение "API активирован для вашего номера телефона. Ваш APIKEY "XXXXXX" для бота.
4. Берём отсюда код функции $FuncWhatsAppSender
Код: Выделить всё
# function FuncWhatsAppSender
# ------------------------------------------------------------
# by Sertik, DrPioneer 02/11/2022
# https://api.callmebot.com/whatsapp.php?phone=[phone_number]&text=[message]&apikey=[your_apikey]
:global FuncWhatsAppSender
:if (!any $FuncWhatsAppSender) do={ :global FuncWhatsAppSender do={
:if ([:len $0]!=0) do={
:global Emoji
:global WhatsAppPhone
:global WhatsAppApiKey
:if ([:len $2]=0) do={
# Function of converting CP1251 to UTF8
# https://forummikrotik.ru/viewtopic.php?p=81457#p81457
:local FuncCP1251toUTF8 do={
:local cp1251 [:toarray {"\20";"\01";"\02";"\03";"\04";"\05";"\06";"\07";"\08";"\09";"\0A";"\0B";"\0C";"\0D";"\0E";"\0F"; \
"\10";"\11";"\12";"\13";"\14";"\15";"\16";"\17";"\18";"\19";"\1A";"\1B";"\1C";"\1D";"\1E";"\1F"; \
"\21";"\22";"\23";"\24";"\25";"\26";"\27";"\28";"\29";"\2A";"\2B";"\2C";"\2D";"\2E";"\2F";"\3A"; \
"\3B";"\3C";"\3D";"\3E";"\3F";"\40";"\5B";"\5C";"\5D";"\5E";"\5F";"\60";"\7B";"\7C";"\7D";"\7E"; \
"\C0";"\C1";"\C2";"\C3";"\C4";"\C5";"\C6";"\C7";"\C8";"\C9";"\CA";"\CB";"\CC";"\CD";"\CE";"\CF"; \
"\D0";"\D1";"\D2";"\D3";"\D4";"\D5";"\D6";"\D7";"\D8";"\D9";"\DA";"\DB";"\DC";"\DD";"\DE";"\DF"; \
"\E0";"\E1";"\E2";"\E3";"\E4";"\E5";"\E6";"\E7";"\E8";"\E9";"\EA";"\EB";"\EC";"\ED";"\EE";"\EF"; \
"\F0";"\F1";"\F2";"\F3";"\F4";"\F5";"\F6";"\F7";"\F8";"\F9";"\FA";"\FB";"\FC";"\FD";"\FE";"\FF"; \
"\A8";"\B8";"\B9";"\8D"}];
:local utf8 [:toarray {"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"000A";"0020";"0020";"000A";"0020";"0020"; \
"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020";"0020"; \
"0021";"0022";"0023";"0024";"0025";"0026";"0027";"0028";"0029";"002A";"002B";"002C";"002D";"002E";"002F";"003A"; \
"003B";"003C";"003D";"003E";"003F";"0040";"005B";"005C";"005D";"005E";"005F";"0060";"007B";"007C";"007D";"007E"; \
"D090";"D091";"D092";"D093";"D094";"D095";"D096";"D097";"D098";"D099";"D09A";"D09B";"D09C";"D09D";"D09E";"D09F"; \
"D0A0";"D0A1";"D0A2";"D0A3";"D0A4";"D0A5";"D0A6";"D0A7";"D0A8";"D0A9";"D0AA";"D0AB";"D0AC";"D0AD";"D0AE";"D0AF"; \
"D0B0";"D0B1";"D0B2";"D0B3";"D0B4";"D0B5";"D0B6";"D0B7";"D0B8";"D0B9";"D0BA";"D0BB";"D0BC";"D0BD";"D0BE";"D0BF"; \
"D180";"D181";"D182";"D183";"D184";"D185";"D186";"D187";"D188";"D189";"D18A";"D18B";"D18C";"D18D";"D18E";"D18F"; \
"D001";"D191";"2116";"000A"}];
:local convStr "";
:local code "";
:for i from=0 to=([:len $1]-1) do={
:local symb [:pick $1 $i ($i+1)];
:local idx [:find $cp1251 $symb];
:local key ($utf8->$idx);
:if ([:len $key] != 0) do={
:set $code ("%$[:pick ($key) 0 2]%$[:pick ($key) 2 4]");
:if ([pick $code 0 3] = "%00") do={:set $code ([:pick $code 3 6])}
} else={:set code ($symb)};
:set $convStr ($convStr.$code);
}
:return ($convStr);
}
:local StrWS [$FuncCP1251toUTF8 $1]
:set StrWS ("$Emoji"."%20"."$[/system identity get name]"."%0A"."$StrWS")
do {/tool fetch url="https://api.callmebot.com/whatsapp.php\?phone=$WhatsAppPhone&text=$StrWS&apikey=$WhatsAppApiKey" keep-result=no; :return "Done"
} on-error={:log info; :log error "Error function $0 fetch"; :log info ""; :return "Error fetch"}
} else={:log info; log error "Parametrs function $0 mismatch"; :log info ""; :return "Error parametrs mismatch"}
}
}
}
:global Emoji "%F0%9F%A7%9A"
:global WhatsAppPhone 7XXXXXXXXXX
:global WhatsAppApiKey YYYYYY
5. И вызываем функцию, передавая ей текст для вывода в чат
:global FuncWhatsAppSender
:log info [$FuncWhatsAppSender "Привет world !"]
Всё ! Теперь Вы можете отправлять с роутеров любые уведомления для CallmeBot в WhatsApp, в том числе и на русском языке !
а вот пример простейшего парсера-уведомителя для WhatsApp, основанного на вышеприведенной функции:
Код: Выделить всё
# WhatsAppNotify
# by Sertik & DrPieneer 02/11/2022
:global lastTime
:global output
:global FuncWhatsAppSender
:local LogGet [ :toarray [ /log find topics~"wireless" || message~"system" || message~"login failure" || message~"logged" || message~"connected" || message~"[Ff]ailure" ] ];
:local LogtLineCount [ :len $LogGet ] ;
if ($LogtLineCount > 0) do={
:local currentTime "$[ /log get [ :pick $LogGet ($LogtLineCount -1) ] time ]";
:if ([:len $currentTime] = 10 ) do={
:set currentTime [ :pick $currentTime 0 10 ];
}
:set output "$currentTime - $[/log get [ :pick $LogGet ($LogtLineCount-1) ] message ]";
:if (([:len $lastTime] < 1) || (([:len $lastTime] > 0) && ($lastTime != $currentTime))) do={
:set lastTime $currentTime ;
[$FuncWhatsAppSender $output]
}
}