Alexander Koryukin เบเบนเปเบเปเบญเบเปเบซเปเบเบฐเบเบดเบเบฑเบเบเบตเป
เปเบฅเบฐเบเปเบฒเบเบดเบเบเปเบฒเปเบซเบฑเบเบขเบนเปเปเบเบซเบเบถเปเบเปเบเบเบธเปเบก VK เปเบเบ Kirill Kazakov:
เปเบกเปเบเปเบฅเปเบง, เบกเบฑเบเบเปเปเบเบญเบเปเบเปเบฅเบตเบ. เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเบเบเบตเปเบเบฐเบเบฝเบ telegram bot เบเบตเปเบเบญเบกเบฎเบฑเบเบเบฝเบเปเบเปเบเปเบฒเบชเบฑเปเบเปเบเบตเบเปเบเปเบเบฒเบเบเบฑเบเบเบตเบเบญเบเบเปเบญเบ.
เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฑเบเบชเบดเบเปเบเบเบฝเบ bot เบเบฑเปเบเบเปเบฒเบง.
เบเบฑเปเบเบเบฑเปเบ, เบชเบดเปเบเบเปเบฒเบญเบดเบเบเบตเปเบเปเบญเบเปเบฎเบฑเบเบเบทเบเบฒเบเบชเปเบฒเบ bot เปเบ telegram.
- เบเบงเบเปเบฎเบปเบฒเบเบญเบเบซเบฒเบขเบนเปเปเบเบเบฑเบเบเบตเบเบตเปเบกเบตเบเบทเปเบงเปเบฒ @botfather
- เปเบซเปเบเบฅเบดเบเปเบชเปเบเบธเปเบกเปเบฅเบตเปเบกเบเบปเปเบเบขเบนเปเบเปเบฒเบเบฅเบธเปเบกเบเบญเบเบซเบเปเบฒเบเป
- เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฝเบเปเบซเปเปเบเบปเบฒเบเปเบฒเบชเบฑเปเบ / newbot
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบญเบ 2 เบเปเบฒเบเบฒเบกเบเปเบฒเบเป:
- เบเปเบฒเบเบฒเบกเบเปเบฒเบญเบดเบเปเบกเปเบเบเบทเปเบเบญเบ bot เบเบตเปเบเบฐเบชเปเบฒเบ. MyMikrotikROuter
- เบเปเบฒเบเบฒเบกเบเบตเบชเบญเบเปเบกเปเบเบเบทเปเบซเบผเบดเปเบเบเบญเบ bot เบเบตเปเบเบทเบเบชเปเบฒเบเบเบทเปเบ (เบเบงเบเบฅเบปเบเบเปเบฒเบเบเปเบงเบ bot) MikrotikROuter_bot
เปเบเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเปเบฎเบฑเบ token เบเบญเบ bot เบเบญเบเบเบงเบเปเบฎเบปเบฒ, เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเปเบญเบเบกเบฑเบเปเบกเปเบ:
เปเบเป token เบเบตเปเปเบเบทเปเบญเปเบเบปเปเบฒเปเบเบดเบ HTTP API: 265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบญเบเบซเบฒ bot เบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเบเบฒเบเบเบปเปเบเบซเบฒเปเบเบเบเบทเป @MikrotikROuter_bot เปเบฅเบฐเบเบปเบเบเบธเปเบกเปเบฅเบตเปเบกเบเบปเปเบ.
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเปเบเบตเบเบเบปเบงเบเปเบญเบเปเบงเบฑเบเปเบฅเบฐเปเบเบปเปเบฒเปเบเปเบเปเบเบงเบเปเปเปเบเบเบตเป:
https://api.telegram.org/botXXXXXXXXXXXXXXXXXX/getUpdates
เบเปเบญเบเบเบตเป XXXXXXXXXXXXXXXXXX เปเบเบฑเบ token เบเบญเบ bot เบเบญเบเบเปเบฒเบ.
เปเปเบฒเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเบเปเปเปเบเบเบตเปเบเบฐเปเบเบตเบเบเบถเปเบ:
เบเบงเบเปเบฎเบปเบฒเบเบปเบเปเบซเบฑเบเบเปเปเบเบงเบฒเบกเบเปเปเปเบเบเบตเปเบเปเบฝเบงเบเบฑเบเบกเบฑเบ:
"เบชเบปเบเบเบฐเบเบฒ":{"id":631290,
เบเบฑเปเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเบกเบตเบเปเปเบกเบนเบเบเบตเปเบเปเบฒเปเบเบฑเบเบเบฑเบเบซเบกเบปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฝเบ scripts เบชเปเบฒเบฅเบฑเบ Mikrotik, เบเบท:
Bot token: 265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4
Chat ID เบเปเบญเบเบเบตเปเบฅเบฒเบงเบเบงเบเบเบฝเบ: 631290
เปเบเบทเปเบญเบเบงเบเปเบเบดเปเบ, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเปเบฒเบเบเบปเบงเบเปเบญเบเปเบงเบฑเบ:
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-เบเบธเบ PC เบเบญเบเบเปเบญเบ
เบเบฝเบงเบเบตเปเบเปเบฒเบเปเบฒเบเบเบดเบก "/" เปเบเบเบฒเบเบชเบปเบเบเบฐเบเบฒ, เบเปเบฒเบเบเบงเบเบเบฐเปเบเปเบฎเบฑเบ:
เบเบญเบเบเบตเปเปเบซเปเปเบฎเบปเบฒเบเปเบฒเบงเปเบเบชเบนเป MikroTik.
RouterOS เบกเบต console utility เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบฅเบญเบเปเบเบฅเปเบเปเบฒเบ ftp เบซเบผเบท http / https, utility เปเบญเบตเปเบเบงเปเบฒ 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 เปเบฅเบฐเบญเบดเบเปเบเบตเปเบเบเบเบตเปเบเบทเบเบเปเบญเบ, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบ bot-token เปเบฅเบฐ chat_id.
เบเบฝเบงเบเบตเปเบเปเบญเบเบเบฐเบญเบฐเบเบดเบเบฒเบเบชเบดเปเบเบเบตเปเบเบงเบเปเบเบปเบฒเปเบฎเบฑเบ:
script "helloworld" เบชเบปเปเบเบเปเปเบเบงเบฒเบก: "เบชเบฐเบเบฒเบเบเบต, เปเบฅเบ!" เบเบฑเบเบเบฒเบเบชเบปเบเบเบฐเบเบฒเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฑเบ bot เปเบเป.
script "เบกเบฑเบเปเบฎเบฑเบเบงเบฝเบ" เบชเบปเปเบเบเปเปเบเบงเบฒเบก: "เบเบปเบเบชเบญเบ OK, เบกเบฑเบเปเบฎเบฑเบเบงเบฝเบ!" เบเบฑเบเบเบฒเบเบชเบปเบเบเบฐเบเบฒเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฑเบ bot เปเบเป.
เบชเบฐเบเบฃเบดเบเปเบซเบผเบปเปเบฒเบเบตเปเปเบกเปเบเปเบเบทเปเบญเบเบธเบเบเบฐเบชเบปเบเบเบฒเบเบชเบฒเบเบดเบ.
เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเปเบเบตเปเบก "wolmypc" script เปเบเบฑเบเบซเบเบถเปเบเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบตเปเปเบเบฑเบเปเบเปเบเป.
เปเบกเบทเปเบญเบเบฐเบเบดเบเบฑเบเบชเบฐเบเบดเบ, เบเบญเบเปเบเบฐเบเบฝเบ "wol OK" เปเบชเปเบเบฒเบเบชเบปเบเบเบฐเบเบฒ.
เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบญเบตเปเบเปเบเป script เปเบเป.
เบชเปเบฒเบเปเปเบฒเบงเบฝเบ:
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") ;
เปเบเบฅเบฐเปเบฅเบ
: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 เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบงเบเปเบซเบผเบทเบญเปเบเบเบฒเบเบเบฝเบ.
เปเบญเบเบฐเบชเบฒเบ
upd:
03:11:16
เบชเบฐเบเบฃเบดเบเบเบตเปเบเบฑเบเบเบธเบ:
เปเบเบตเปเบกเบเบฒเบเบเบงเบเบชเบญเบ chat_id
เบเบงเบเปเบเบดเปเบเบเบปเบเปเบเป, เบเปเบฒเบกเบตเบเบปเบเบเบฝเบเบซเบฒ bot เบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบฅเบฒเบงเบเบฐเบเบญเบเบฅเบฒเบงเบงเปเบฒ: "เบเปเบญเบเบเปเปเบชเบฒเบกเบฒเบเปเบงเบปเปเบฒเบเบฑเบเปเบเบปเปเบฒเปเบเป. ", เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฐเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบกเบฑเบเบเปเปเบฎเบฑเบเบฎเบนเปเบเปเบฒเบชเบฑเปเบ.
เบซเบผเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเปเบฒเบชเบฑเปเบ, bot เบเบปเบเปเบฅเบตเบเบเบฒเบเบชเบปเบเบเบฐเบเบฒ (เปเบเบดเปเบ wolmypc script)
DUP
เบเบปเบโเบเบฑเบ
เบญเบฑเบเปเบเบเบงเบฑเบเบเบต 08.12.2016
เปเบ Telegram, เบเบฒเบเบปเบเบเบทเปเบ, เบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒเปเบเปเบเปเบฝเบ "เบซเบกเบปเบ" เบเบญเบ getUpdate เปเบฅเบฑเบเบเปเบญเบ. เปเบเบเบฑเบเบเบธเบเบฑเบเบขเบนเปเปเบเบชเบฐเบเบดเบเบเบปเปเบเบเป, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเปเบเปเปเบเบเปเปเบเบงเบฒเบกเบเบปเบเปเบเบตเบเบเบฒเบ 2 เบซเบฒ 1
เบเบฒเบเบเปเบฝเบเปเบเบ
:local message [:pick $content ($startLoc + 2) $endLoc] ;
ะทะฐะผะตะฝะธัั ะฝะฐ :
:local message [:pick $content ($startLoc + 1) $endLoc] ;
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com