เบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เบ—เบฒเบ‡เป„เบเบ‚เบญเบ‡เบชเบฐเบ„เบฃเบดเบš Mikrotik เบˆเบฒเบ Telegram

Alexander Koryukin เบเบนเป‰เบ‚เป‰เบญเบเปƒเบซเป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบ™เบตเป‰ GeXoGeN เบเบฑเบšเบเบฒเบ™เบžเบดเบกเป€เบœเบตเบเปเบœเปˆเบ‚เบญเบ‡เบฅเบฒเบงเบเบฒเบ™เป€เบ›เบตเบ”เบ—เบฒเบ‡เป„เบเปƒเบ™เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเป„เบ”เป‰เบŸเบฃเบต, เป‚เบ”เบเบšเปเปˆเบกเบต SMS เปเบฅเบฐเบšเปเปˆเบกเบตเป€เบกเบ„, เป‚เบ”เบเปƒเบŠเป‰ Mikrotik"

เปเบฅเบฐเบ„เปเบฒเบ„เบดเบ”เบ„เปเบฒเป€เบซเบฑเบ™เบขเบนเปˆเปƒเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™เบเบธเปˆเบก VK เป‚เบ”เบ Kirill Kazakov:

เปเบกเปˆเบ™เปเบฅเป‰เบง, เบกเบฑเบ™เบšเปเปˆเบ›เบญเบ”เป„เบžเป€เบฅเบตเบ. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบ‚เบฝเบ™ telegram bot เบ—เบตเปˆเบเบญเบกเบฎเบฑเบšเบžเบฝเบ‡เปเบ•เปˆเบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบ›เบตเบ”เปƒเบŠเป‰เบˆเบฒเบเบšเบฑเบ™เบŠเบตเบ‚เบญเบ‡เบ‚เป‰เบญเบ.

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ‚เบฝเบ™ bot เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบชเบดเปˆเบ‡เบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆเบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”เบ„เบทเบเบฒเบ™เบชเป‰เบฒเบ‡ bot เปƒเบ™ telegram.

  • เบžเบงเบเป€เบฎเบปเบฒเบŠเบญเบเบซเบฒเบขเบนเปˆเปƒเบ™เบšเบฑเบ™เบŠเบตเบ—เบตเปˆเบกเบตเบŠเบทเปˆเบงเปˆเบฒ @botfather
  • เปƒเบซเป‰เบ„เบฅเบดเบเปƒเบชเปˆเบ›เบธเปˆเบกเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบขเบนเปˆเบ”เป‰เบฒเบ™เบฅเบธเปˆเบกเบ‚เบญเบ‡เบซเบ™เป‰เบฒเบˆเป
  • เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เปƒเบซเป‰เป€เบ‚เบปเบฒเบ„เปเบฒเบชเบฑเปˆเบ‡ / newbot

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบ•เบญเบš 2 เบ„เปเบฒเบ–เบฒเบกเบ‡เปˆเบฒเบเป†:

  • เบ„เปเบฒเบ–เบฒเบกเบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™เบŠเบทเปˆเบ‚เบญเบ‡ bot เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡. MyMikrotikROuter
  • เบ„เปเบฒเบ–เบฒเบกเบ—เบตเบชเบญเบ‡เปเบกเปˆเบ™เบŠเบทเปˆเบซเบผเบดเป‰เบ™เบ‚เบญเบ‡ bot เบ—เบตเปˆเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™ (เบ„เบงเบ™เบฅเบปเบ‡เบ—เป‰เบฒเบเบ”เป‰เบงเบ bot) MikrotikROuter_bot

เปƒเบ™เบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป„เบ”เป‰เบฎเบฑเบš token เบ‚เบญเบ‡ bot เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบ‚เป‰เบญเบเบกเบฑเบ™เปเบกเปˆเบ™:

เปƒเบŠเป‰ token เบ™เบตเป‰เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ HTTP API: 265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4

เบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เบ—เบฒเบ‡เป„เบเบ‚เบญเบ‡เบชเบฐเบ„เบฃเบดเบš Mikrotik เบˆเบฒเบ Telegram
เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบŠเบญเบเบซเบฒ bot เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปƒเบ™เบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเป‚เบ”เบเบŠเบทเปˆ @MikrotikROuter_bot เปเบฅเบฐเบเบปเบ”เบ›เบธเปˆเบกเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เป€เบ›เบตเบ”เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเปเบฅเบฐเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เปเบ–เบงเบ•เปเปˆเป„เบ›เบ™เบตเป‰:

 https://api.telegram.org/botXXXXXXXXXXXXXXXXXX/getUpdates

เบšเปˆเบญเบ™เบ—เบตเปˆ XXXXXXXXXXXXXXXXXX เป€เบ›เบฑเบ™ token เบ‚เบญเบ‡ bot เบ‚เบญเบ‡เบ—เปˆเบฒเบ™.

เปœเป‰เบฒเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰เบˆเบฐเป€เบ›เบตเบ”เบ‚เบถเป‰เบ™:

เบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เบ—เบฒเบ‡เป„เบเบ‚เบญเบ‡เบชเบฐเบ„เบฃเบดเบš Mikrotik เบˆเบฒเบ Telegram

เบžเบงเบเป€เบฎเบปเบฒเบžเบปเบšเป€เบซเบฑเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเบ•เปเปˆเป„เบ›เบ™เบตเป‰เบเปˆเบฝเบงเบเบฑเบšเบกเบฑเบ™:

"เบชเบปเบ™เบ—เบฐเบ™เบฒ":{"id":631290,

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ‚เบฝเบ™ scripts เบชเปเบฒเบฅเบฑเบš Mikrotik, เบ„เบท:

Bot token: 265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4

Chat ID เบšเปˆเบญเบ™เบ—เบตเปˆเบฅเบฒเบงเบ„เบงเบ™เบ‚เบฝเบ™: 631290

เป€เบžเบทเปˆเบญเบเบงเบ”เป€เบšเบดเปˆเบ‡, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบœเปˆเบฒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš:

https://api.telegram.org/bot265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4/sendmessage?chat_id=631290&text=test

เบ„เบงเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบœเบปเบ™โ€‹:

เบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เบ—เบฒเบ‡เป„เบเบ‚เบญเบ‡เบชเบฐเบ„เบฃเบดเบš Mikrotik เบˆเบฒเบ Telegram

เป€เบžเบทเปˆเบญเบ„เบงเบฒเบกเบชเบฐเบ”เบงเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบžเบตเปˆเบกเบ„เปเบฒเบชเบฑเปˆเบ‡เบชเปเบฒเบฅเบฑเบš bot เปƒเบ™เบ—เบฑเบ™เบ—เบต:

เบŠเบญเบเบซเบฒเบšเบฑเบ™เบŠเบตเบ—เบตเปˆเบกเบตเบŠเบทเปˆ @เบžเปเปˆเบ•เบนเป‰
เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบซเป‰เบฅเบฒเบง / setcommands

  • เบฅเบฒเบงเบˆเบฐเบ–เบฒเบกเบงเปˆเบฒ bot เปƒเบ”

เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™:
@MikrotikROuter_bot

เป€เบžเบตเปˆเบกเบ„เปเบฒเบชเบฑเปˆเบ‡:

  • helloworld< โ€” เบ‚เปเป‰โ€‹เบ„เบงเบฒเบกโ€‹เบ—เบปเบ”โ€‹เบชเบญเบšโ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบชเบปเบ™โ€‹เบ—เบฐโ€‹เบ™เบฒ 1โ€‹
  • itsworking-Test Message on chat 2
  • wolmypc-เบ›เบธเบ PC เบ‚เบญเบ‡เบ‚เป‰เบญเบ

เบ”เบฝเบงเบ™เบตเป‰เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบžเบดเบก "/" เปƒเบ™เบเบฒเบ™เบชเบปเบ™เบ—เบฐเบ™เบฒ, เบ—เปˆเบฒเบ™เบ„เบงเบ™เบˆเบฐเป„เบ”เป‰เบฎเบฑเบš:

เบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เบ—เบฒเบ‡เป„เบเบ‚เบญเบ‡เบชเบฐเบ„เบฃเบดเบš Mikrotik เบˆเบฒเบ Telegram

เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เป€เบฎเบปเบฒเบเป‰เบฒเบงเป„เบ›เบชเบนเปˆ 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.

เบ„เบงเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบœเบปเบ™โ€‹:

เบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เบ—เบฒเบ‡เป„เบเบ‚เบญเบ‡เบชเบฐเบ„เบฃเบดเบš Mikrotik เบˆเบฒเบ Telegram

เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เบเป‰เบฒเบงเป„เบ›เบชเบนเปˆเบชเบฐเบ„เบฃเบดเบš:

เบชเบฐโ€‹เบšเบฒเบโ€‹เบ”เบตโ€‹เบŠเบฒเบงโ€‹เป‚เบฅเบ

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 เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบŠเปˆเบงเบเป€เบซเบผเบทเบญเปƒเบ™เบเบฒเบ™เบ‚เบฝเบ™.

เป€เบญเบเบฐเบชเบฒเบ™

habrahabr.ru/post/313794
1spla.ru/index.php/blog/telegram_bot_for_mikrotik
core.telegram.org/bots/api
wiki.mikrotik.com/wiki/เบ„เบนเปˆเบกเบท:เบ‚เบฝเบ™เบšเบปเบ”

upd:

03:11:16

เบชเบฐเบ„เบฃเบดเบšเบ—เบตเปˆเบ›เบฑเบšเบ›เบธเบ‡:

เป€เบžเบตเปˆเบกเบเบฒเบ™เบเบงเบ”เบชเบญเบš chat_id
เบเบงเบ”เป€เบšเบดเปˆเบ‡เบ„เบปเบ™เป‚เบ‡เปˆ, เบ–เป‰เบฒเบกเบตเบ„เบปเบ™เบ‚เบฝเบ™เบซเบฒ bot เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบฅเบฒเบงเบˆเบฐเบ•เบญเบšเบฅเบฒเบงเบงเปˆเบฒ: "เบ‚เป‰เบญเบเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบงเบปเป‰เบฒเบเบฑเบšเป€เบˆเบปเป‰เบฒเป„เบ”เป‰. ", เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบˆเบฐเบ•เบญเบšเบžเบงเบเป€เบฎเบปเบฒเบ–เป‰เบฒเบกเบฑเบ™เบšเปเปˆเบฎเบฑเบšเบฎเบนเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡.
เบซเบผเบฑเบ‡เบˆเบฒเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡, bot เบเบปเบเป€เบฅเบตเบเบเบฒเบ™เบชเบปเบ™เบ—เบฐเบ™เบฒ (เป€เบšเบดเปˆเบ‡ wolmypc script)

DUP

เบžเบปเบšโ€‹เบเบฑเบš 7Stuntman7 เบงเปˆเบฒเป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบ‚เปเป‰เบ„เบงเบฒเบกเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡ ~14 เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบกเบงเบ™เบœเบปเบ™เป‚เบ”เบเบ„เปเบฒเบชเบฑเปˆเบ‡เบŠเบญเบเบซเบฒ (เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ” Mikrotik). เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”, เบ‚เป‰เบญเบเบˆเบฐเบ›เปˆเบฝเบ™ script เป€เบ›เบฑเบ™ lua, เบ‚เบญเบšเปƒเบˆ 7Stuntman7 เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบšเปเปˆเบฎเบนเป‰เบเปˆเบฝเบงเบเบฑเบš lua.

เบญเบฑเบšเป€เบ”เบ”เบงเบฑเบ™เบ—เบต 08.12.2016

เปƒเบ™ Telegram, เบ›เบฒเบเบปเบ”เบ‚เบทเป‰เบ™, เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ›เปˆเบฝเบ™ "เบซเบกเบปเบ”" เบ‚เบญเบ‡ getUpdate เป€เบฅเบฑเบเบ™เป‰เบญเบ. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบขเบนเปˆเปƒเบ™เบชเบฐเบ„เบดเบšเบ•เบปเป‰เบ™เบ•เป, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เปเบเป‰เป„เบ‚เบ‚เปเป‰เบ„เบงเบฒเบกเบŠเบปเบ”เป€เบŠเบตเบเบˆเบฒเบ 2 เบซเบฒ 1

เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡

:local message [:pick $content ($startLoc + 2) $endLoc] ;

ะทะฐะผะตะฝะธั‚ัŒ ะฝะฐ :

:local message [:pick $content ($startLoc + 1) $endLoc] ;

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com