Telegram์—์„œ Mikrotik ์Šคํฌ๋ฆฝํŠธ ์›๊ฒฉ ํ™œ์„ฑํ™”

Alexander Koryukin์ด ์ €๋ฅผ ์ด ๊ตฌํ˜„์œผ๋กœ ๋ฐ€์–ด ๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค. GeXoGen ๊ทธ์˜ ์ถœํŒ๋ฌผ๊ณผ ํ•จ๊ป˜Mikrotik์„ ์‚ฌ์šฉํ•˜์—ฌ SMS ๋ฐ ํด๋ผ์šฐ๋“œ ์—†์ด ๋ฌด๋ฃŒ๋กœ ์ปดํ“จํ„ฐ๋ฅผ ์›๊ฒฉ์œผ๋กœ ์ผค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.".

๊ทธ๋ฆฌ๊ณ  Kirill Kazakov์˜ VK ๊ทธ๋ฃน ์ค‘ ํ•˜๋‚˜์— ๋Œ€ํ•œ ์˜๊ฒฌ:

์˜ˆ, ์ „ํ˜€ ์•ˆ์ „ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฐจ๋ผ๋ฆฌ ๋‚ด ๊ณ„์ •์—์„œ ํ™œ์„ฑํ™” ๋ช…๋ น๋งŒ ๋ฐ›๋Š” ํ…”๋ ˆ๊ทธ๋žจ ๋ด‡์„ ์ž‘์„ฑํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ๋Ÿฐ ๋ด‡์„ ์“ฐ๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๊ฐ€์žฅ ๋จผ์ € ํ•  ์ผ์€ ํ…”๋ ˆ๊ทธ๋žจ์—์„œ ๋ด‡์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • ๊ฒ€์ƒ‰์—์„œ @botfather๋ผ๋Š” ๊ณ„์ •์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • ํ™”๋ฉด ํ•˜๋‹จ์˜ ์‹œ์ž‘ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ทธ์—๊ฒŒ ๋ช…๋ น / newbot์„ ์”๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ๊ฐ„๋‹จํ•œ ์งˆ๋ฌธ์— ๋‹ตํ•ฉ๋‹ˆ๋‹ค.

  • ์ฒซ ๋ฒˆ์งธ ์งˆ๋ฌธ์€ ์ƒ์„ฑํ•  ๋ด‡์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. MyMikrotikR์™ธ๋ถ€
  • ๋‘ ๋ฒˆ์งธ ์งˆ๋ฌธ์€ ์ƒ์„ฑ๋˜๋Š” ๋ด‡์˜ ๋‹‰๋„ค์ž„์ž…๋‹ˆ๋‹ค(๋ด‡์œผ๋กœ ๋๋‚˜์•ผ ํ•จ). MikrotikROuter_bot

์ด์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ ๋ด‡์˜ ํ† ํฐ์„ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ œ ๊ฒฝ์šฐ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด ํ† ํฐ์„ ์‚ฌ์šฉํ•˜์—ฌ HTTP API์— ์•ก์„ธ์Šคํ•ฉ๋‹ˆ๋‹ค. 265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4

Telegram์—์„œ Mikrotik ์Šคํฌ๋ฆฝํŠธ ์›๊ฒฉ ํ™œ์„ฑํ™”
๊ทธ๋Ÿฐ ๋‹ค์Œ ์ด๋ฆ„์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜์—ฌ ๋ด‡์„ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. @MikrotikROuter_bot๋ฅผ ๋ˆ„๋ฅด๊ณ  ์‹œ์ž‘ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์—ด๊ณ  ๋‹ค์Œ ์ค„์„ ์ž…๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

์—ฌ๊ธฐ์„œ XXXXXXXXXXXXXXXXXX๋Š” ๋ด‡์˜ ํ† ํฐ์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•œ ํŽ˜์ด์ง€๊ฐ€ ์—ด๋ฆฝ๋‹ˆ๋‹ค.

Telegram์—์„œ Mikrotik ์Šคํฌ๋ฆฝํŠธ ์›๊ฒฉ ํ™œ์„ฑํ™”

๋‹ค์Œ ํ…์ŠคํŠธ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.

"์ฑ„ํŒ…":{"ID":631290,

๋”ฐ๋ผ์„œ Mikrotik์šฉ ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ์— ํ•„์š”ํ•œ ๋ชจ๋“  ์ •๋ณด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ด‡ ํ† ํฐ: 265373548:AAFyGCqJCei9mvcxvXOWBfnjSt1p3sX1XH4

์ž‘์„ฑํ•ด์•ผ ํ•˜๋Š” ์ฑ„ํŒ… ID: 631290

ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๊ฒฐ๊ณผ๋ฅผ ์–ป์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

Telegram์—์„œ Mikrotik ์Šคํฌ๋ฆฝํŠธ ์›๊ฒฉ ํ™œ์„ฑํ™”

ํŽธ์˜๋ฅผ ์œ„ํ•ด ๋ด‡์— ๋Œ€ํ•œ ๋ช…๋ น์„ ์ฆ‰์‹œ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฆ„์ด ์žˆ๋Š” ๊ณ„์ • ์ฐพ๊ธฐ @botfather
๊ทธ๋Ÿฐ ๋‹ค์Œ ์šฐ๋ฆฌ๋Š” ๊ทธ์—๊ฒŒ ๋ช…๋ น์„ ์”๋‹ˆ๋‹ค. / set ๋ช…๋ น

  • ๊ทธ๋Š” ์–ด๋–ค ๋ด‡์„ ๋ฌผ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค

์šฐ๋ฆฌ๋Š” ์“ด๋‹ค:
@MikrotikROuter_bot

๋ช…๋ น ์ถ”๊ฐ€:

  • helloworld< โ€” ์ฑ„ํŒ… 1์˜ ํ…Œ์ŠคํŠธ ๋ฉ”์‹œ์ง€
  • itsworking-์ฑ„ํŒ… 2 ํ…Œ์ŠคํŠธ ๋ฉ”์‹œ์ง€
  • wolmypc - ๋‚ด PC ๊นจ์šฐ๊ธฐ

์ด์ œ ์ฑ„ํŒ…์— "/"๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

Telegram์—์„œ Mikrotik ์Šคํฌ๋ฆฝํŠธ ์›๊ฒฉ ํ™œ์„ฑํ™”

์ด์ œ MikroTik์œผ๋กœ ์ด๋™ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

RouterOS์—๋Š” ftp ๋˜๋Š” http/https๋ฅผ ํ†ตํ•ด ํŒŒ์ผ์„ ๋ณต์‚ฌํ•˜๊ธฐ ์œ„ํ•œ ์ฝ˜์†” ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์žˆ์œผ๋ฉฐ ์ด ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•  ๊ฐ€์ ธ์˜ค๊ธฐ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์˜คํ”ˆ ๋‹จ๋ง๊ธฐ ๋‹ค์Œ์„ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค.

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

MikroTik์—๋Š” "ยป ๊ธฐํ˜ธ๋ฅผ ํƒˆ์ถœํ•˜๊ธฐ ์œ„ํ•ด ยซ?URL์— '.

๊ฒฐ๊ณผ๋ฅผ ์–ป์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

Telegram์—์„œ Mikrotik ์Šคํฌ๋ฆฝํŠธ ์›๊ฒฉ ํ™œ์„ฑํ™”

์ด์ œ ์Šคํฌ๋ฆฝํŠธ๋กœ ์ด๋™ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ—ฌ๋กœ์šฐ ์›”๋“œ

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}

์›”๋ฏธํ”„

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"๋ผ๊ณ  ์”๋‹ˆ๋‹ค.
์‹ค์ œ๋กœ ๋ชจ๋“  ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ ˆ๋Œ€์ ์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž‘์—… ๋งŒ๋“ค๊ธฐ:

์ „๋ณด.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

์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋ณด๊ธฐ์ด์œ ๋Š” ๋ช…ํ™•ํ•˜์ง€ ์•Š์ง€๋งŒ ์ž‘์—… ์Šคํฌ๋ฆฝํŠธ์—์„œ ๊ธ€๋กœ๋ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต๊ฐœํ•˜์ง€ ์•Š๊ณ  ์‹œ์Šคํ…œ ๋ถ€ํŒ…์‹œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
ํ…”๋ ˆ๊ทธ๋žจ ์‹œ์ž‘

: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; 
} 

์ด๊ฑฐ ์–ด๋–ป๊ฒŒ ์ž‘๋™ ์‹œ์ผœ์š”

30์ดˆ๋งˆ๋‹ค "getUpdates" ๋ฉ”์‹œ์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•œ ๋‹ค์Œ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜์—ฌ ํ™•์ธ ์—…๋ฐ์ดํŠธ ์•„์ด๋”” (๋ฉ”์‹œ์ง€ ๋ฒˆํ˜ธ) ๋ฐ ๋ณธ๋ฌธ (์šฐ๋ฆฌ ํŒ€) ๋ฐ chat_id . ๊ธฐ๋ณธ์ ์œผ๋กœ getUpdates๋Š” ํŽธ์˜์ƒ 1~100๊ฐœ์˜ ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•˜๋ฉฐ ๋ช…๋ น์„ ์ฝ์€ ํ›„ ๋ฉ”์‹œ์ง€๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. Telegram api๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ฝ์œผ๋ ค๋ฉด ๋ฉ”์‹œ์ง€ ๋ฒˆํ˜ธ + 1์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค.

/getUpdates?offset=update_id + 1

๋ชจ๋‘ Mikrotik rb915 RouterOS 6.37.1์—์„œ ํ…Œ์ŠคํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
ํ•œ ๋ฒˆ์— ๋งŽ์€ ๋ช…๋ น์„ ๋ณด๋‚ด๋ฉด 30์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ ๋ชจ๋‘ ์ฐจ๋ก€๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์ถ”์‹ : ์•„์ด๋””์–ด๋ฅผ ์ œ๊ณตํ•œ 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/Manual:์Šคํฌ๋ฆฝํŒ…

upd :

03:11:16

ํ–ฅ์ƒ๋œ ์Šคํฌ๋ฆฝํŠธ:

chat_id ํ™•์ธ ์ถ”๊ฐ€
๋ฐ”๋ณด์ธ์ง€ ํ™•์ธํ•˜๊ณ  ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์šฐ๋ฆฌ ๋ด‡์— ๊ธ€์„ ์“ฐ๋ฉด "๋‹น์‹ ๊ณผ ์ด์•ผ๊ธฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ", ๋ช…๋ น์„ ์ธ์‹ํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ ์œ ์‚ฌํ•˜๊ฒŒ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.
๋ช…๋ น์„ ์‹คํ–‰ํ•œ ํ›„ ๋ด‡์ด ์ฑ„ํŒ… ๊ตฌ๋…์„ ์ทจ์†Œํ•ฉ๋‹ˆ๋‹ค(wolmypc ์Šคํฌ๋ฆฝํŠธ ์ฐธ์กฐ).

UPD

์™€ ํ•จ๊ป˜ ๋ฐœ๊ฒฌ 7์Šคํ„ดํŠธ๋งจ7 ~14๊ฐœ ์ด์ƒ์˜ ๋ฉ”์‹œ์ง€๊ฐ€ ํฌํ•จ๋œ ํŒŒ์ผ์€ ๋” ์ด์ƒ find ๋ช…๋ น์œผ๋กœ ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(Mikrotik ์ œํ•œ ์‚ฌํ•ญ). ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์•ž์œผ๋กœ ์Šคํฌ๋ฆฝํŠธ๋ฅผ lua๋กœ ๋ณ€๊ฒฝํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. 7์Šคํ„ดํŠธ๋งจ7 ์ด๋ฅผ ์œ„ํ•ด ๋‚˜๋Š” ๋ฃจ์•„์— ๋Œ€ํ•ด ๋ชฐ๋ž์Šต๋‹ˆ๋‹ค.

UPD 08.12.2016

Telegram์—์„œ๋Š” ๋ถ„๋ช…ํžˆ getUpdate์˜ "๋ฐฐ๊ธฐ"๋ฅผ ์•ฝ๊ฐ„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๊ธฐ๋ณธ ์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ฉ”์‹œ์ง€ ์˜คํ”„์…‹์„ 2์—์„œ 1๋กœ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ

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

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

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

์ถœ์ฒ˜ : habr.com