Alexander Koryukin na tuleia aʻu i lenei faʻatinoga
Ma se faʻamatalaga i se tasi o vaega VK na saunia e Kirill Kazakov:
Ioe, e matua le saogalemu lava. Ou te manaʻo e tusi se telegram bot e naʻo le taliaina o faʻatonuga mai laʻu teugatupe.
Na ou filifili e tusi sea bot.
O lea la, o le mea muamua e fai o le fatuina lea o se bot i le telegram.
- Matou te maua i le sailiga se tala e igoa @botfather
- Kiliki i le Amata faamau i le pito i lalo o le lau
- Ona matou tusia lea ia te ia le poloaiga / newbot
Ona matou taliina lea o fesili faigofie e 2:
- Ole fesili muamua ole igoa ole bot e faia. La'uMikrotikROuter
- O le fesili lona lua o le igoa tauvalaau o le bot ua faia (e tatau ona faaiu i le bot) MikrotikROuter_bot
I le tali atu, matou te mauaina le faʻailoga o la matou bot, i loʻu tulaga o le:
Fa'aaoga lenei fa'ailoga e maua ai le HTTP API: 265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4
Ma, e tatau ona e suʻeina le matou bot i le sailiga ile igoa @MikrotikROuter_bot ma fetaomi le faamau Amata.
A maeʻa lena, e tatau ona e tatalaina le browser ma ulufale i le laina lea:
https://api.telegram.org/botXXXXXXXXXXXXXXXXXX/getUpdates
O fea XXXXXXXXXXXXXXXXXX o loʻo iai lau faʻailoga o le bot.
O le a tatalaina se itulau e pei o lea:
Matou te maua le tusitusiga o loʻo i lalo:
"chat":{"id":631290,
O lea, o loʻo ia i matou faʻamatalaga talafeagai uma mo le tusiaina o tusitusiga mo Mikrotik, e pei o:
Fa'ailoga bot: 265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4
Chat ID i le mea e tatau ona ia tusia ai: 631290
Ina ia siaki, e mafai ona tatou alu ile browser:
https://api.telegram.org/bot265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4/sendmessage?chat_id=631290&text=test
E tatau ona maua le taunuuga:
Mo lo matou faʻaogagofie, matou te vave faʻaopoopoina poloaiga mo le bot:
Su'eina o se tala ma se igoa @tamatama
Ona matou tusi atu lea ia te ia o se poloaiga / setcommands
- O le a ia fesili po o le fea bot
Matou te tusia:
@MikrotikROuter_bot
Fa'aopoopo poloaiga:
- helloworld< — Su'ega fe'au ile talatalanoaga 1
- itsworking-Su'ega Savali i luga o talatalanoaga 2
- wolmypc-fafagu la'u PC
Ia afai e te taina le "/" i le talatalanoaga, e tatau ona e mauaina:
Sei o tatou agai atu i le MikroTik.
O loʻo i ai i le RouterOS se faʻaoga faʻamafanafana mo le kopiina o faila e ala i le ftp poʻo le http / https, o le aoga e taʻua o le fetch, o le mea lea o le a matou faʻaogaina.
Tatala faʻaiʻuga ma ulufale:
/tool fetch url="https://api.telegram.org/bot265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4/sendmessage?chat_id=631290&text=test " keep-result=no
Faamolemole ia matau e manaʻomia e MikroTik ""e sola ese mai le faʻailoga"?'i le URL.
E tatau ona maua le taunuuga:
Sei o tatou agai atu i tusitusiga:
lalolagi
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}
lona galueaina
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"
Aua neʻi galo e faʻamaonia le igoa saʻo mac ma le atinaʻe, faʻapea foʻi ma bot-token ma chat_id.
O lenei o le a ou faʻamatalaina teisi mea latou te faia:
O le tusitusiga "helloworld" e auina atu se savali: "Talofa, lalolagi!" i la matou talatalanoaga ma le bot.
O le "itsworking" script e auina atu ai se feʻau: "Suʻe OK, o loʻo galue!" i la matou talatalanoaga ma le bot.
O nei tusitusiga e mo faʻamoemoega faʻataʻitaʻiga.
Na ou faʻaopoopoina le "wolmypc" script o se tasi o faʻatinoga talafeagai.
I le faʻatinoina o le tusitusiga, o le a tusia e le bot le "wol OK" i le talatalanoaga.
O le mea moni, e mafai ona e faʻatautaia soʻo se tusitusiga.
Fausia se galuega:
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
Vaaiga Faitaue le o manino pe aisea, ae mai le tusitusiga galue e le faʻaalia ai faʻamaumauga o le lalolagi, faʻaopoopoina le faʻamaumauga pe a faʻapipiʻi le faiga.
Telegram amata
: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") ;
uālesi
: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;
}
E faapefea e lenei galuega
La'u mai a matou fe'au "getUpdates" i le 30 sekone, ona va'ai lea e su'e ai update_id (numera fe'au) ma matua (a matou 'au) ma chat_id . I le le mafai, getUpdates faʻaalia mai le 1 i le 100 feʻau, mo le faʻaogagofie, pe a uma ona faitau le poloaiga, matou te tapeina le feʻau. Telegram api fai mai e faitau se savali e te manaʻomia le numera feʻau + 1
/getUpdates?offset=update_id + 1
Na tofotofoina uma i luga ole Mikrotik rb915 RouterOS 6.37.1
Afai e te auina atu le tele o poloaiga i le taimi e tasi, o le a faʻataunuʻu uma i le taimi e 30 sekone.
PS Faafetai tele ia Kirill Kazakov mo le manatu ma laʻu uo Alexander mo le fesoasoani i tusitusiga.
mau
upd:
03:11:16
Fa'aleleia tusitusiga:
Fa'aopoopo siaki mo chat_id
Siaki mo se vale, afai e tusi se tasi i la tatou bot, o le a ia tali atu ia te ia: "E le mafai ona ou talanoa ma oe. ", o le a faapena foi ona tali mai ia i tatou pe a le iloa le poloaiga.
A maeʻa ona faʻatino le faʻatonuga, e leʻi faʻasalalau le bot i le talatalanoaga (vaʻai wolmypc script)
FAAFOUGA
Maua ma
UPD 08.12.2016/XNUMX/XNUMX
i Telegram, e foliga mai, na latou suia teisi le "uso" o le getUpdate. i le taimi nei i le tusitusiga autu e te manaʻomia e faʻasaʻo le feʻau faʻamalo mai le 2 i le 1
suiga
:local message [:pick $content ($startLoc + 2) $endLoc] ;
заменить на :
:local message [:pick $content ($startLoc + 1) $endLoc] ;
puna: www.habr.com