Alexander Koryukin ααΆααααα»ααααα»αα±ααα’αα»αααααααα
αα·αααΆαα’ααααΆαα·ααααΆααα αααα»ααααα»α VK αα½αααα Kirill Kazakov:
ααΆα ααΆαα·αααΆααα»ααααα·ααΆαααΆαααααααα αααα»αα ααααααα bot ααΌαααααααααα½αααααααΆααααααααΆααααΎα±αααααααααΈααααΈαααααααα»αα
αααα»αααΆααααααα
α
α·αααααααα bot ααααααα
ααΌα
αααα ααΏαααααΌααααααααΌαααααΎααΊαααααΎα bot αα
αααα»αααΌααααα
- ααΎααααααααααααΈαα½ααααααΆααααααααΆ @botfather
- α α»α ααΎαααΌαα»αα αΆααααααΎααα αααααααΆααααααααα’αααααα
- αααααΆααααααΎααααααααΆααααΌαααΆααααααααΆ / newbot
αααααΆααααααΎαααααΎααααα½αααΆααααα ααα½α 2α
- αααα½αααΈαα½αααΊααααααααα bot αααααααΌααααααΎαα MyMikrotikROuter
- αααα½αααΈααΈαααΊαααααα α αααα αααα bot αααααααΌαααΆααααααΎα (αα½ααααααα ααααα bot) MikrotikROuter_bot
ααΆααΆαααααΎααα ααΎαααΉαααα½αααΆααα·αα·ααααααααΆαα bot ααααααΎα αααα»αααααΈαααααααα»αααΆααΊα
ααααΎαααααΆαααααΆαααααααΎααααΈα αΌαααααΎ HTTP APIα 265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4
αααααΆαααα α’αααααααΌαααααααα bot ααααααΎααααα»αααΆααααααααααΆαααααα @MikrotikROuter_bot α αΎαα
α»α
αααΌαα»αα
αΆααααααΎαα
αααααΆααααΈααα α’αααααααΌαααΎα ββbrowser α αΎααααα αΌααααααΆααααΆααααααα
https://api.telegram.org/botXXXXXXXXXXXXXXXXXX/getUpdates
ααααααααα XXXXXXXXXXXXXXXXXX ααΊααΆαα·αα·ααααααααΆαααα bot ααααα’αααα
αααααααααααααΉαααΆααααααααΉαααΎαα
ααΎαααααΎαα’αααααααΆαααααααα ααΎααΆα
"αααα":{"id":631290,
ααΌα αααα ααΎαααΆαααααααΆαα αΆαααΆα αααΆααα’αααααααΆααααΆααααααααααααΈααααααΆαα Mikrotik αααααΊα
αα·αα·ααααααααΆααΌαα 265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4
Chat ID αααααΆαααα½ααααααα 631290
ααΎααααΈαα·αα·ααα ααΎαα’αΆα α αΌααα ααΆαααα browserα
https://api.telegram.org/bot265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4/sendmessage?chat_id=631290&text=test
αα½αααααα½αααΆαααααααα
ααΎααααΈααΆαααΆααααα½αααααααΎα ααΎαααΉαααααααααΆααααααααΆααααΆαααααααΆαα botα
αααααααααααΈαααααΆαααααα @αͺαα»αααααΆα
αααααΆααααααΎαααααααααααΆαα
ααΆαα / setcommands
- ααΆααααΉααα½αααΆααΎ bot αα½αααΆ
ααΎαβααααα:
@MikrotikROuter_bot
ααααααααΆααααααααΆα
- helloworld< β ααΆαααΆααααααα ααΎααΆααααα 1
- itsworking-Test Message on chat 2
- wolmypc-ααααΆααα‘αΎααα»αααααΌααααααααααα»α
α₯α‘αΌαααα ααααα·αααΎα’αααααΆα "/" αα αααα»αααΆααααα α’ααααα½αααααα½αααΆαα
α₯α‘αΌααααααΌααααααα 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 α
αα½αααααα½αααΆαααααααα
α₯α‘αΌααααααΌααααααα ααααααΈαα
αα½ααααΈβαα·ααααα
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" ααΆααΆαα’αα»αααααα½ααααα’αΆα
ααααΎαα
ααΆαα
αα
αααααααΎαααΆαααααααΈα bot ααΉαααααα "wol OK" αα
ααΆααααΆαααααα
ααΆαααΆααα·α α’αααα’αΆα
ααααΎαααΆαααααααΈαααΆαα½αα
αααααΎααα·α αα ααΆαα
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
αα·αααααΆααααα’αΆα
α’αΆαααΆααααΆβαα·αβα
αααΆααβααΆβα ααα»α’αααΈβαα ααα»ααααβααΈβααααααΈαβαααβααααΎαααΆαβααΆβαα·αβαααα αΆαβαα·ααααααβαααβαα α αΎαβααΆαβααααααβααααααΈαβαα
αααβααααααααβα
αΆααααααΎαα
ααΆαα
αΆααααααΎα 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") ;
Telegram
: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
ααααα·αααΎα’αααααααΎααΆααααααααΆααΆα
αααΎααααα»αααααααα½α αα½αααΆααΆααα’ααααΉαααααΌαααΆαααααα·ααααα·ααΆαααααΆαα½αααΉαα
αααααααα 30 αα·ααΆααΈα
PS α’ααα»αα αααΎαα αααα Kirill Kazakov αααααΆαααααα·ααα·ααα·ααααααααααα»α Alexander αααααΆαααααα½αααΆαα½αααααααΈαα
ααα ααααΈααα
α‘αΎαα
03:11:16
ααααααΈααααααΆααααααα’α
ααΆαααααααααΆααααα½ααα·αα·ααααααααΆαα chat_id
αα·αα·αααααΎαααα»αααααααΈααααΎ ααααα·αααΎααααΆααααΆααααααααα
ααΆαα bot ααααααΎα ααΆααααΉαααααΎαααΆααααΆ "αααα»ααα·αα’αΆα
αα·ααΆαααΆαα½αα’αααααΆαααα ", ααΉαβααααΎαβααααααβααααΆβααΉαβααΎαβααααα·αβααΎβααΆβαα·αβααα½αβααααΆααβααΆαααβαααααΆ.
αααααΆααααΈααααα·ααααα·ααΆααααααααΆ bot αααααΆαααΆααααα (ααΌαααΎα wolmypc script)
DUP
ααΆαααααΎαααΆαα½α
UPD α’α’.α‘α
αα αααα»α Telegram ααΆααααααααα½αααααΆαααααΆααααααΌα "ααΆαα ααααΏα" αα getUpdate ααααα·α α α₯α‘αΌαααααα αααα»αααααααΈααα α’αααααααΌαααααΆαα’α»α αααα·αααΈ 2 αα 1
ααααΆααααααΌα
:local message [:pick $content ($startLoc + 2) $endLoc] ;
Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π½Π° :
:local message [:pick $content ($startLoc + 1) $endLoc] ;
ααααα: www.habr.com