Π£Π΄Π°Π»Ρ‘Π½Π½ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ скриптов Mikrotik ΠΈΠ· Telegram

На Π΄Π°Π½Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ мСня ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ» АлСксандр ΠšΠΎΡ€ΡŽΠΊΠΈΠ½ GeXoGeN своСй ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ «Π£Π΄Π°Π»Ρ‘Π½Π½ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° бСсплатно, Π±Π΅Π· SMS ΠΈ Π±Π΅Π· ΠΎΠ±Π»Π°ΠΊΠΎΠ², с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Mikrotik«.

И ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏ Π’Πš ΠšΠΈΡ€ΠΈΠ»Π»Π° Казакова:

Π”Π° ΡƒΠΆ, совсСм Π½Π΅ ΡΠ΅ΠΊΡŒΡŽΡ€Π½ΠΎ. Π― Π±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ написал Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΌΠΎΠ΅Π³ΠΎ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

Π― Ρ€Π΅ΡˆΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π±ΠΎΡ‚Π°.

Π˜Ρ‚Π°ΠΊ, ΠΏΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ – это ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±ΠΎΡ‚Π° Π² telegram.

  • Находим Π² поискС Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ с ΠΈΠΌΠ΅Π½Π΅ΠΌ @botfather
  • НаТимаСм Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Start Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части экрана
  • ПослС Ρ‡Π΅Π³ΠΎ пишСм Π΅ΠΌΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ /newbot

ΠŸΠΎΡ‚ΠΎΠΌ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅ΠΌ Π½Π° 2 нСслоТных вопроса:

  • ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ вопрос – имя создаваСмого Π±ΠΎΡ‚Π° MyMikrotikROuter
  • Π’Ρ‚ΠΎΡ€ΠΎΠΉ вопрос – Π½ΠΈΠΊ создаваСмого Π±ΠΎΡ‚Π° (Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° bot) MikrotikROuter_bot

Π’ ΠΎΡ‚Π²Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ‚ΠΎΠΊΠ΅Π½ нашСго Π±ΠΎΡ‚Π°, Π² ΠΌΠΎΡ‘ΠΌ случаС это:

Use this token to access the HTTP API: 265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4

Π£Π΄Π°Π»Ρ‘Π½Π½ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ скриптов Mikrotik ΠΈΠ· Telegram
Π—Π°Ρ‚Π΅ΠΌ, Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ нашСго Π±ΠΎΡ‚Π° Π² поискС ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ @MikrotikROuter_bot ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Start.

ПослС этого Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈ ввСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку:

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

Π“Π΄Π΅ XXXXXXXXXXXXXXXXXX – Ρ‚ΠΎΠΊΠ΅Π½ вашСго Π±ΠΎΡ‚Π°.

ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ страница ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²ΠΈΠ΄Π°:

Π£Π΄Π°Π»Ρ‘Π½Π½ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ скриптов Mikrotik ΠΈΠ· Telegram

Находим Π½Π° Π½Π΅ΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ тСкст:

Β«chatΒ»:{Β«idΒ»:631290,

Π˜Ρ‚Π°ΠΊ, Ρƒ нас Π΅ΡΡ‚ΡŒ вся нСобходимая информация для написания скриптов для Mikrotik’Π°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:

Π’ΠΎΠΊΠ΅Π½ Π±ΠΎΡ‚Π°: 265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4

ID Ρ‡Π°Ρ‚Π°, ΠΊΡƒΠ΄Π° ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΈΡΠ°Ρ‚ΡŒ: 631290

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΉΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€:

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

Π”ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Π£Π΄Π°Π»Ρ‘Π½Π½ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ скриптов Mikrotik ΠΈΠ· Telegram

Для нашСго удобства, сразу Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для Π±ΠΎΡ‚Π°:

Находим Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ с ΠΈΠΌΠ΅Π½Π΅ΠΌ @botfather
ПослС Ρ‡Π΅Π³ΠΎ пишСм Π΅ΠΌΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ /setcommands

  • Он спросит ΠΊΠ°ΠΊΠΎΠΌΡƒ Π±ΠΎΡ‚Ρƒ

ПишСм:
@MikrotikROuter_bot

ДобавляСм ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

  • helloworld< β€” Test message on chat 1
  • itsworking β€” Test Message on chat 2
  • wolmypc β€” wake Up my PC

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ссли Π½Π°Π±Ρ€Π°Ρ‚ΡŒ Π² Ρ‡Π°Ρ‚Π΅ «/», Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ:

Π£Π΄Π°Π»Ρ‘Π½Π½ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ скриптов Mikrotik ΠΈΠ· Telegram

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ MikroTik.

Π’ RouterOS Π΅ΡΡ‚ΡŒ консольная ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° для копирования Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· ftp ΠΈΠ»ΠΈ http/https, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° называСтся fetch, ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅ΠΉ ΠΌΡ‹ ΠΈ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ terminal ΠΈ Π²Π²ΠΎΠ΄ΠΈΠΌ:

/tool fetch url="https://api.telegram.org/bot265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4/sendmessage?chat_id=631290&text=test " keep-result=no

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π² MikroTik Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ «» для экранирования Π·Π½Π°ΠΊΠ° «?» Π² URL.

Π”ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Π£Π΄Π°Π»Ρ‘Π½Π½ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ скриптов Mikrotik ΠΈΠ· Telegram

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ сриптам:

helloworld

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}

itsworking

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.

БСйчас Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ поясню Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ дСлаю:

Π‘ΠΊΡ€ΠΈΠΏΡ‚ Β«helloworldΒ» отправляСт сообщСниС: » Hello,world!» Π² наш Ρ‡Π°Ρ‚ с Π±ΠΎΡ‚ΠΎΠΌ.
Π‘ΠΊΡ€ΠΈΠΏΡ‚ Β«itsworkingΒ» отправляСт сообщСниС: » Test OK, it’s Working !» Π² наш Ρ‡Π°Ρ‚ с Π±ΠΎΡ‚ΠΎΠΌ.
Π”Π°Π½Π½Ρ‹Π΅ скрипты для дСмонстрации Ρ€Π°Π±ΠΎΡ‚Ρ‹.
Π‘ΠΊΡ€ΠΈΠΏΡ‚ Β«wolmypcΒ» я Π΄ΠΎΠ±Π°Π²ΠΈΠ», ΠΊΠ°ΠΊ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.
По Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ скрипта Π±ΠΎΡ‚ Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚ Π² Ρ‡Π°Ρ‚ Β«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-startup

: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 (Π½ΠΎΠΌΠ΅Ρ€ сообщСния) ΠΈ text (наши ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹) ΠΈ chat_id . По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ getUpdates Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΎΡ‚ 1 Π΄ΠΎ 100 сообщСний, для удобства послС прочтСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, сообщСниС удаляСм. Π² Telegram api сказано, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ сообщСниС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½ΠΎΠΌΠ΅Ρ€ сообщСния + 1

/getUpdates?offset=update_id + 1

ВсС ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ Π½Π° Mikrotik rb915 RouterOS 6.37.1
Если ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ сразу ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΎΠ½ΠΈ всС ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ с ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠΌ 30 сСк.

P.S. ΠžΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ спасибо ΠšΠΈΡ€ΠΈΠ»Π»Ρƒ ΠšΠ°Π·Π°ΠΊΠΎΠ²Ρƒ Π·Π° идСю ΠΈ ΠΌΠΎΠ΅ΠΌΡƒ Π΄Ρ€ΡƒΠ³Ρƒ АлСксандру Π·Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ со скриптами.

Бсылки

habrahabr.ru/post/313794
1spla.ru/index.php/blog/telegram_bot_for_mikrotik
core.telegram.org/bots/api
wiki.mikrotik.com/wiki/Manual:Scripting

upd:

03:11:16

Π”ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π» скрипты:

Π”ΠΎΠ±Π°Π²ΠΈΠ» ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° chat_id
ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π΄ΡƒΡ€Π°ΠΊΠ°, Ссли ΠΊΡ‚ΠΎ Ρ‚ΠΎ Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚ Π½Π°ΡˆΠ΅ΠΌΡƒ Π±ΠΎΡ‚Ρƒ, ΠΎΠ½ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ Π΅ΠΌΡƒ: » I can’t talk with you. «, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ Π½Π°ΠΌ, Ссли Π½Π΅ распознаСт ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.
По Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π±ΠΎΡ‚ отписываСтся Π² Ρ‡Π°Ρ‚ (см. Π‘ΠΊΡ€ΠΈΠΏΡ‚ wolmypc)

UPD

Нашли с 7Stuntman7 Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» с Π²Ρ‹ΡˆΠ΅ ~ 14 сообщСний, пСрСстаСт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ find (ограничСния Mikrotik). По этому Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ скрипт ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°ΡŽ Π½Π° lua cпасибо 7Stuntman7 Π·Π° это, ΠΏΡ€ΠΎ lua Π½Π΅ Π·Π½Π°Π».

UPD 08.12.2016

Π² Telegram Π²ΠΈΠ΄ΠΈΠΌΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Β«Π²Ρ‹Ρ…Π»ΠΎΠΏΒ» getUpdate. Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π² основном скриптС Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ смСщСниС сообщСния с 2 Π½Π° 1

измСнСния

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

Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° :

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

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com