Alexander Koryukin adandikakamiza kuti ndikwaniritse izi
Ndipo ndemanga mu gulu limodzi la VK la Kirill Kazakov:
Eya, sizotetezeka konse. Ndikadakonda kulemba boti ya telegalamu yomwe imangovomereza malamulo oyambitsa ku akaunti yanga.
Ndinaganiza zolemba bot wotere.
Chifukwa chake, chinthu choyamba kuchita ndikupanga bot mu telegalamu.
- Timapeza posaka akaunti yotchedwa @botfather
- Dinani pa Start batani pansi pazenera
- Kenako timamulembera lamulo / newbot
Kenako timayankha mafunso awiri osavuta:
- Funso loyamba ndi dzina la bot kuti lipangidwe. MyMikrotikROuter
- Funso lachiwiri ndi dzina lakutchulidwa la bot lomwe likupangidwa (liyenera kutha ndi bot) MikrotikROuter_bot
Poyankha, tidzalandira chizindikiro cha bot yathu, kwa ine ndi:
Gwiritsani ntchito chizindikiro ichi kuti mupeze HTTP API: 265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4
Kenako, muyenera kupeza bot yathu posaka ndi dzina @MikrotikROuter_bot ndikusindikiza batani loyambira.
Pambuyo pake, muyenera kutsegula msakatuli ndikulowetsa mzere wotsatirawu:
https://api.telegram.org/botXXXXXXXXXXXXXXXXXX/getUpdates
Kumene XXXXXXXXXXXXXXXXXXXXX ndi chizindikiro cha bot yanu.
Tsamba lofanana ndi ili litsegulidwa:
Tikupeza malemba otsatirawa pa izo:
"chat":{"id":631290,
Chifukwa chake, tili ndi chidziwitso chonse chofunikira polemba zolemba za Mikrotik, zomwe ndi:
Chizindikiro cha Bot: 265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4
Chat ID komwe ayenera kulemba: 631290
Kuti muwone, titha kudutsa pa msakatuli:
https://api.telegram.org/bot265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4/sendmessage?chat_id=631290&text=test
Ayenera kupeza zotsatira:
Kuti zitithandizire, tidzawonjezera nthawi yomweyo malamulo a bot:
Kupeza akaunti yokhala ndi dzina @bambo
Kenako timamulembera lamulo / setcommands
- Adzafunsa bot
Timalemba:
@MikrotikROuter_bot
Onjezani malamulo:
- helloworld< - Mauthenga oyesera pamacheza 1
- itsworking-Test Message pa chat 2
- wolmypc-wake PC yanga
Tsopano ngati mulemba "/" pamacheza, muyenera kupeza:
Tsopano tiyeni tipite ku MikroTik.
RouterOS ili ndi chida chothandizira kukopera mafayilo kudzera pa ftp kapena http / https, zomwe zimagwiritsidwa ntchito zimatchedwa kulanda, zomwe tidzagwiritse ntchito.
Tsegulani Pokwerera ndi kulowa:
/tool fetch url="https://api.telegram.org/bot265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4/sendmessage?chat_id=631290&text=test " keep-result=no
Chonde dziwani kuti MicroTik ikufunika "Β» kuthawa chizindikiro Β«?' mu URL.
Ayenera kupeza zotsatira:
Tsopano tiyeni tipite ku scripts:
Moni Dziko Lapansi
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}
ntchito zake
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"
Musaiwale kutchula dzina lolondola la mac ndi mawonekedwe, komanso bot-token ndi chat_id.
Tsopano ndifotokoza pang'ono zomwe amachita:
Zolemba za "helloworld" zimatumiza uthenga: "Moni, dziko!" kumacheza athu ndi bot.
Zolemba za "itsworking" zimatumiza uthenga: "Yesani Chabwino, Zikuyenda!" kumacheza athu ndi bot.
Zolemba izi ndi zowonetsera.
Ndinawonjezera "wolmypc" script ngati imodzi mwazomwe zingatheke.
Mukamaliza script, bot idzalemba "wol OK" kumacheza.
M'malo mwake, mutha kuyendetsa script iliyonse.
Pangani ntchito:
Telegraph.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
Mawonedwe Owerengekasizikudziwikiratu chifukwa chake, koma kuchokera ku script yogwira ntchito sichiwulula deta yapadziko lonse, inawonjezera script pamene dongosolo likuyamba.
Kuyamba kwa Telegraph
: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") ;
uthengawo
: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;
}
Kodi ntchito
Tsitsani mauthenga athu a "getUpdates" masekondi 30 aliwonse, kenaka yang'anani kuti mudziwe update_id (nambala ya meseji) ndi lemba (matimu athu) ndi chat_id . Mwachikhazikitso, GetUpdates amawonetsa kuchokera ku 1 mpaka 100 mauthenga, kuti zikhale zosavuta, titawerenga lamulo, timachotsa uthengawo. Telegraph api imati kuti muwerenge uthenga muyenera nambala ya meseji + 1
/getUpdates?offset=update_id + 1
Zonse zoyesedwa pa Mikrotik rb915 RouterOS 6.37.1
Ngati mutumiza malamulo ambiri nthawi imodzi, onse adzaphedwa motsatizana ndi masekondi 30.
PS Zikomo kwambiri Kirill Kazakov chifukwa cha lingaliro ndi mnzanga Alexander kuti athandizidwe ndi zolembazo.
powatsimikizira
sinthani:
03:11:16
Zolemba zokongoletsedwa:
cheke chowonjezera chat_id
Kufufuza chitsiru, ngati wina alembera bot yathu, amamuyankha kuti: "Sindingathe kulankhula nanu. ", itiyankhanso chimodzimodzi ngati sichizindikira lamulo.
Pambuyo popereka lamulo, bot imasiya kulembetsa (onani wolmypc script)
DUP
Anapezeka ndi
ZOCHITIKA 08.12.2016
mu Telegalamu, mwachiwonekere, adasintha pang'ono "kutulutsa" kwa GetUpdate. tsopano m'mawu akulu muyenera kukonza uthengawo kuchokera pa 2 mpaka 1
kusintha
:local message [:pick $content ($startLoc + 2) $endLoc] ;
Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π½Π° :
:local message [:pick $content ($startLoc + 1) $endLoc] ;
Source: www.habr.com