Alexander Koryukin á áá»áœááºáá±á¬á·áºááᯠáá®á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááᯠááœááºážá¡á¬ážáá±ážáá²á·áááºá
Kirill Kazakov á VK á¡ááœá²á·áá»á¬ážáá²á០ááŸááºáá»ááºáá áºáá¯á
áá¯ááºáááºá á¡á²áá« áá¯á¶ážá ááá¯á¶ááŒá¯á¶áá°ážá áá»áœááºá¯ááºáá¡áá±á¬áá·áºá០activation commands áá»á¬ážááá¯áá¬áááºáá¶áá±á¬ telegram bot ááá¯áá±ážááá¯áá«áááºá
á¡á²áá®ááᯠbot áá
áºáá¯ááá¯áá±ážááá¯á· áá¯á¶ážááŒááºááá¯ááºáááºá
áá®áá±á¬á· ááááá¯á¶ážáá¯ááºáááŸá¬á telegram ááŸá¬ bot áá
áºáá¯ááᯠáááºáá®ážááá¯á·áá«áá²á
- @botfather áᯠá¡áááºáá±ážáá¬ážáá±á¬ á¡áá±á¬áá·áºáá áºáá¯ááᯠááŸá¬ááœá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááœá±á·áááºá
- á ááááºáá¡á±á¬ááºááŒá±ááŸá Start ááá¯ááºááá¯ááŸáááºáá«á
- ááŒá®ážááẠáá°á·ááᯠcommand /newbot ááá¯á·áá±ážáááºá
ááá¯á·áá±á¬áẠáá»áœááºá¯ááºááá¯á·ááẠááá¯ážááŸááºážáá±á¬áá±ážááœááºáž 2 áá¯ááᯠááŒá±áááº-
- ááááá¯á¶ážáá±ážááœááºážááŸá¬ áááºáá®ážááá·áº bot áá¡áááºááŒá áºáááºá MyMikrotikROuter
- áá¯ááááá±ážááœááºážááŸá¬ áááºáá®ážáá¬ážááá·áº bot áá¡áááºááŒá±á¬áẠ(bot ááŒáá·áºá¡áá¯á¶ážáááºááá·áºáááº) MikrotikROuter_bot
áá¯á¶á·ááŒááºááŸá¯á¡áá±ááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·á bot á ááá¯áááºáá¶áá«ááºááᯠáááºáá¶áááŸááááºááŒá áºááŒá®ážá
HTTP API ááá¯áááºáá±á¬ááºááẠá€ááá¯áááºááá¯áá¯á¶ážáá«- 265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4
ááá¯á·áá±á¬ááºá á¡áááºááŒáá·áºááŸá¬ááœá±ááŸá¯ááœááºáá»áœááºá¯ááºááá¯á·á bot ááá¯áááºááŸá¬áááºááá¯á¡ááºáááºá @MikrotikROuter_bot ááŸáá·áº Start ááá¯ááºááá¯ááŸáááºáá«á
ááá¯á·áá±á¬ááºááœááºá áááºááẠbrowser ááá¯ááœáá·áºááŒá®ážá¡á±á¬ááºáá«á á¬ááŒá±á¬ááºážááá¯ááá¯ááºááá·áºáááºááá¯á¡ááºáááº-
https://api.telegram.org/botXXXXXXXXXXXXXXXXXX/getUpdates
XXXXXXXXXXXXXXXXXX ááẠááá·áº bot á ááá¯ááẠáá±áá¬ááœáẠááŒá áºáááºá
á¡á±á¬ááºáá«á¡ááá¯ááºáž á á¬áá»ááºááŸá¬áá áºáᯠááœáá·áºáá¬áá«áááº-
áááºážááœáẠá¡á±á¬ááºáá«á á¬áá¬ážááᯠáá»áœááºá¯ááºááá¯á· ááœá±á·ááŸááááº-
"chat":{"id":631290,
ááá¯á·ááŒá±á¬áá·áºá Mikrotik á¡ááœáẠscripts áá»á¬ážáá±ážáá¬ážáááºá¡ááœáẠááá¯á¡ááºáá±á¬ á¡áá»ááºá¡áááºá¡á¬ážáá¯á¶ážááŸááááºá ááá¯ááá¯áááºááŸá¬-
áá±á¬á·ááºááá¯áááº- 265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4
áá°áá±ážáááá·áº Chat ID 631290
á á áºáá±ážáááºá áá»áœááºá¯ááºááá¯á·ááẠááá±á¬ááºáá¬ááŸáááá·áº ááœá¬ážááá¯ááºáá«áááºá
https://api.telegram.org/bot265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4/sendmessage?chat_id=631290&text=test
ááááºááá¯áááá·áºáááº-
áá»áœááºá¯ááºááá¯á·áá¡áááºááŒá±á á±áááºá¡ááœááºá áá»áœááºá¯ááºááá¯á·ááẠbot á¡ááœáẠá¡áááá·áºáá»á¬ážááá¯áá»ááºáá»ááºážááá·áºáá«áááº-
áá¬áááºáá
áºáá¯áá²á· á¡áá±á¬áá·áºáá
áºáá¯ááŸá¬áá«á @botfather
ááŒá®ážááẠáá°á·ááᯠá¡áááá·áºáá±ážáááºá / setcommands
- ááẠbot ááá¯áá±ážááá²á
áá»áœááºá¯ááºááá¯á·áá±ážáááº-
@MikrotikROuter_bot
ááœáŸááºááŒá¬ážáá»ááºáá»á¬áž ááá·áºáá«
- helloworld< â chat 1 ááœáẠá ááºážáááºáááºáá±á·áá»áº
- áááºážáá¡áá¯ááº-á ááºážáááºáá»áẠMessage 2
- wolmypc-áá«á· PC ááá¯ááŸáá¯ážáá«á
ááᯠááẠchat ááœáẠ"/" áá¯ááá¯ááºáá«áá ááẠáááŸáááá·áºáááº-
á¡áᯠMikroTik ááᯠáááºááœá¬ážáá¡á±á¬ááºá
RouterOS ááœáẠftp ááá¯á·ááá¯áẠhttp/https ááŸáá áºááá·áº ááá¯ááºáá»á¬ážááá¯áá°ážáá°ááẠááœááºááá¯ážááºá¡áá¯á¶ážá¡áá±á¬ááºáá áºáᯠáá«ááŸáááŒá®áž áááºážááᯠfetch áá¯áá±á«áºáááºá áááºážááẠáá»áœááºá¯ááºááá¯á·á¡áá¯á¶ážááŒá¯ááá·áºá¡áá¬ááŒá áºáááºá
ááœáá·áº áááẠáááºáá«
/tool fetch url="https://api.telegram.org/bot265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4/sendmessage?chat_id=631290&text=test " keep-result=no
MikroTik ááá¯á¡ááºáá«áááº"âááááááºâ á០ááœááºááŒá±á¬ááºáááºá?' URL ááœááºá
ááááºááá¯áááá·áºáááº-
ááᯠScript áá»á¬ážáá®ááá¯á· áááºááœá¬ážááŒáá«á áá¯á·á
áááºá¹ááá¬áá«ááá¹áá¬áá±á¬á
system script add name="helloworld" policy=read source={/tool fetch url="https://api.telegram.org/bot265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4/sendmessage?chat_id=631290&text=Hello,world! " keep-result=no}
á¡á²á·áá«á¡áá¯ááºááŒá áºáááº
system script add name="itsworking" policy=read source={/tool fetch url="https://api.telegram.org/bot265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4/sendmessage?chat_id=631290&text=Test OK, it's Working " keep-result=no}
wolmypc
system script add name="wolmypc" policy=read source="/tool wol mac=XX:XX:XX:XX:XX:XX interface=ifnamer
n/tool fetch url="https://api.telegram.org/boXXXXXXXXXXXXXXXXXXX?chat_id=631290&text=wol OK" keep-resul
t=no"
ááŸááºáááºáá±á¬ mac ááŸáá·áº interface á¡áááºá¡ááŒáẠbot-token ááŸáá·áº chat_id ááᯠáááºááŸááºááẠááá±á·áá«ááŸáá·áºá
á¡áᯠáá»áœááºáá±á¬áº áá°ááá¯á·áá¬áá¯ááºááá²ááá¯áá¬ááᯠáááºážáááºážááŸááºážááŒáááºá
"helloworld" áá¬ááºááœáŸááºážááẠ"áááºá¹ááá¬áá« ááá¹áá¬!" bot ááŸáá·áºáá»áœááºá¯ááºááá¯á·ááá»ááºááá¯á·á
"áááºážáá¡áá¯ááºáá¯ááºáá¯á¶" áá¬ááºááœáŸááºážááẠáááºáá±á·áá»áºáá±ážááá¯á·áááº- "á
ááºážáááºááẠá¡áá¯áá±á áááºážááẠá¡áá¯ááºááŒá
áºáá±ááŒá®!" bot ááŸáá·áºáá»áœááºá¯ááºááá¯á·ááá»ááºááá¯á·á
á€áá¬ááºááœáŸááºážáá»á¬ážááẠááá¯ááºááŒááŒááºážá¡ááœááºááŒá
áºáááºá
ááŒá
áºááá¯ááºáá»á±ááŸááá±á¬ á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯áá»á¬ážáá²á០áá
áºáá¯á¡áá±ááŒáá·áº "wolmypc" script ááᯠááá·áºááœááºážáá¬ážáá«áááºá
áá¬ááºááœáŸááºážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá±á¬á¡áá«á bot ááẠchat ááœáẠ"wol OK" áá¯áá±ážáááá·áºáááºá
ááááºáá±á¬á·á áááºáááºáááºááá·áº script ááá¯áááᯠrun ááá¯ááºáááºá
á¡áá¯ááºáá áºáá¯áááºáá®ážáá«-
Telegram.src
/system scheduler
add interval=30s name=Telegram on-event=":tool fetch url=("https://api.telegr
am.org/".$botID."/getUpdates") ;r
n:global content [/file get [/file find name=getUpdates] contents] ;r
n:global startLoc 0;r
n:global endLoc 0;r
nr
n:if ( [/file get [/file find name=getUpdates] size] > 50 ) do={r
nr
n:set startLoc [:find $content "update_id" $lastEnd ] ;r
n:set startLoc ( $startLoc + 11 ) ;r
n:local endLoc [:find $content "," $startLoc] ;r
n:local messageId ([:pick $content $startLoc $endLoc] + (1));r
n:put [$messageId] ;r
n:#log info message="updateID $messageId" ;r
nr
n:set startLoc [:find $content "text" $lastEnd ] ;r
n:set startLoc ( $startLoc + 7 ) ;r
n:local endLoc [:find $content "," ($startLoc)] ;r
n:set endLoc ( $endLoc - 1 ) ;r
n:local message [:pick $content ($startLoc + 2) $endLoc] ;r
n:put [$message] ;r
n:#log info message="message $message ";r
nr
n:set startLoc [:find $content "chat" $lastEnd ] ;r
n:set startLoc ( $startLoc + 12 ) ;r
n:local endLoc [:find $content "," $startLoc] ;r
n:local chatId ([:pick $content $startLoc $endLoc]);r
n:put [$chatId] ;r
n:#log info message="chatID $chatId ";r
nr
n:if (($chatId = $myChatID) and (:put [/system script find name=$messa
ge] != "")) do={r
n:system script run $message} else={:tool fetch url=("https://api.teleg
ram.org/".$botID."/sendmessage?chat_id=".$chatId."&text=I can't t
alk with you. ") keep-result=no} ;r
n:tool fetch url=("https://api.telegram.org/".$botID."/getUpdates?
offset=$messageId") keep-result=no; r
n} r
n" policy=
ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon
start-date=nov/02/2010 start-time=00:00:00
add name=Telegram-startup on-event=":delay 5r
n:global botID "botXXXXXXXXXXXXXXXXXX" ;r
n:global myChatID "631290" ;r
n:global startLoc 0;r
n:global endLoc 0;r
n:tool fetch url=("https://api.telegram.org/".$botID."/getUpdates")
;" policy=
ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon
start-time=startup
áááºááá¯ááºáá±á¬ ááŒááºááœááºážá¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº ááŸááºážááŸááºážáááºážáááºážáááááá±ážáá±á¬áºáááºáž á¡áá¯ááºáá¯ááºáá±á¬ script á០ááá¹áá¬áá¯á¶ážááá¯ááºáá¬áá±áá¬ááᯠááá±á¬áºááŒáá²á á
áá
áºá
áááºáá±á¬á¡áá«ááœáẠscript ááá¯ááá·áºááœááºážáá¬ážáááºá
Telegram á
áááºááŒááºáž
:delay 5
:global botID "botXXXXXXXXXXXXXXXXXX" ; token bot
:global myChatID "xxxxxx" ; chat_id
:global startLoc 0;
:global endLoc 0;
:tool fetch url=("https://api.telegram.org/".$botID."/getUpdates") ;
ááœá±ážááá»ážá á¬
:tool fetch url=("https://api.telegram.org/".$botID."/getUpdates") ;
:global content [/file get [/file find name=getUpdates] contents] ;
:global startLoc 0;
:global endLoc 0;
:if ( [/file get [/file find name=getUpdates] size] > 50 ) do={
:set startLoc [:find $content "update_id" $lastEnd ] ;
:set startLoc ( $startLoc + 11 ) ;
:local endLoc [:find $content "," $startLoc] ;
:local messageId ([:pick $content $startLoc $endLoc] + (1));
:put [$messageId] ;
#:log info message="updateID $messageId" ;
:set startLoc [:find $content "text" $lastEnd ] ;
:set startLoc ( $startLoc + 7 ) ;
:local endLoc [:find $content "," ($startLoc)] ;
:set endLoc ( $endLoc - 1 ) ;
:local message [:pick $content ($startLoc + 2) $endLoc] ;
:put [$message] ;
#:log info message="message $message ";
:set startLoc [:find $content "chat" $lastEnd ] ;
:set startLoc ( $startLoc + 12 ) ;
:local endLoc [:find $content "," $startLoc] ;
:local chatId ([:pick $content $startLoc $endLoc]);
:put [$chatId] ;
#:log info message="chatID $chatId ";
:if (($chatId = $myChatID) and (:put [/system script find name=$message] != "")) do={
:system script run $message} else={:tool fetch url=("https://api.telegram.org/".$botID."/sendmessage?chat_id=".$chatId."&text=I can't talk with you. ") keep-result=no} ;
:tool fetch url=("https://api.telegram.org/".$botID."/getUpdates?offset=$messageId") keep-result=no;
}
áááºááá¯á€áá¯ááºáááºážááá¯áááº
áá»áœááºá¯ááºááá¯á·á "getUpdates" áááºáá±á·áá»áºáá»á¬ážááᯠá áá¹ááá·áº 30 ááá¯ááºáž áá±á«ááºážáá¯ááºáá¯ááºáá«á ááá¯á·áá±á¬áẠááááŸáááẠááœá²ááŒááºážá áááºááŒá¬áá«á update_id (áááºáá±á·ááºá»áá¶áá«ááº) ááŸáá·áº á á¬áá¬ážá (áá«ááá¯á·á¡ááœá²á·áá»á¬áž) ááŸáá·áº chat_id . áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá getUpdates ááẠáááºáá±á·áá»áº 1 á០100 á¡áá ááŒááááºá á¡áááºááŒá±á á±áááºá á¡áááá·áºááᯠáááºááŒá®ážáá±á¬ááºá áá»áœááºá¯ááºááá¯á·ááẠáááºáá±á·áá»áºááᯠáá»ááºáá áºááá¯ááºáááºá Telegram api á áááºáá±á·áá»áºááᯠáááºááẠáááºáá±á·áá»áºáá¶áá«áẠ+ 1 ááá¯á¡ááºáááºá
/getUpdates?offset=update_id + 1
Mikrotik rb915 RouterOS 6.37.1 ááœáẠá
ááºážáááºááŒá®ážááŒá
áºáááºá
command á¡áá»á¬ážá¡ááŒá¬ážááᯠáá
áºááŒáá¯ááºááẠáá±ážááá¯á·áá«á áááºážááá¯á·á¡á¬ážáá¯á¶ážááᯠá
áá¹ááá·áº 30 ááŒá¬ážááŒá®áž á¡ááŸáá·áºáá» áá¯ááºáá±á¬ááºáááºááŒá
áºáááºá
PS á áááºáá°ážá¡ááœáẠKirill Kazakov ááŸáá·áº scripts áá»á¬ážá¡ááœááºá¡áá°á¡áá®á¡ááœááºáá»áœááºá¯ááºááá°áááºáá»ááºáž Alexander ááá¯áá»á±ážáá°ážáááºááŸááá«áááºá
ááá¯ážáá¬áž
upd-
03:11:16
ááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ áá¬ááºááœáŸááºážáá»á¬áž-
chat_id á¡ááœáẠá
á
áºáá±ážááŸá¯ááᯠááá·áºááœááºážáá¬ážáááºá
áá°ááá¯ááºááᯠá
á
áºáá±ážááŒááºáž áá
áºá
á¯á¶áá
áºáŠážááẠáá»áœááºá¯ááºááá¯á·á bot ááá¯á· á
á¬áá±ážáá«áá "áá« áááºážáá²á· á
áá¬ážáááŒá±á¬ááá¯ááºáá°ážá âá¡áááá·áºááᯠá¡ááá¡ááŸááºáááŒá¯áá«á áá»áœááºá¯ááºááá¯á·ááᯠá¡áá¬ážáá°ááŒá±ááŒá¬ážáá«áááºá
á¡ááá¯áá«á¡áááá·áºááá¯áá¯ááºáá±á¬ááºááŒá®ážáá±á¬ááºá bot ááẠchat ááá¯á
á¬áááºážááœááºážááŒááºážááá¯áááºááá¯ááºážááẠ(wolmypc script ááá¯ááŒáá·áºáá«)
DUP
áá²á· ááœá±á·áááºá
UPD áá.áá
Telegram ááœááºá áááºážááá¯á·ááẠgetUpdate á "áá¯ááºáááºážááŒááºáž" ááᯠá¡áááºážááẠááŒá±á¬ááºážáá²ááœá¬ážáá¯á¶ááááºá ááá¯áááºá script ááœáẠáááºááẠ2 á០1 á¡áá áááºáá±á·ááºá»ááᯠá¡á±á¬á·ááºáááºááŒááºááẠááá¯á¡ááºáááºá
á¡ááŒá±á¬ááºážá¡áá²áá»á¬áž
:local message [:pick $content ($startLoc + 2) $endLoc] ;
заЌеМОÑÑ ÐœÐ° :
:local message [:pick $content ($startLoc + 1) $endLoc] ;
source: www.habr.com