{"id":783,"date":"2015-05-13T00:40:15","date_gmt":"2015-05-13T09:40:15","guid":{"rendered":"http:\/\/blog.box.kr\/?p=783"},"modified":"2015-05-13T00:40:15","modified_gmt":"2015-05-13T09:40:15","slug":"scrap-%ed%85%94%eb%a0%88%ea%b7%b8%eb%9e%a8telegram%ec%9c%bc%eb%a1%9c-%ec%84%9c%eb%b2%84-%eb%aa%a8%eb%8b%88%ed%84%b0%eb%a7%81%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/blog.box.kr\/?p=783","title":{"rendered":"[scrap] \ud154\ub808\uadf8\ub7a8(Telegram)\uc73c\ub85c \uc11c\ubc84 \ubaa8\ub2c8\ud130\ub9c1\ud558\uae30"},"content":{"rendered":"<p><a href=\"http:\/\/truefeel.tistory.com\/224\">http:\/\/truefeel.tistory.com\/224<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>\uba54\uc2e0\uc800 \uac80\uc5f4\ub85c &#8216;\ud154\ub808\uadf8\ub7a8(Telegram)&#8217; \uad11\ud48d\uc774 \ubd88\uace0 \uc788\ub2e4. \uac1c\uc778\uc801\uc73c\ub85c \uce74\ud1a1\uc744 \uc790\uc8fc \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc544, \ud154\ub808\uadf8\ub7a8\uc774 \uc808\uc2e4(?)\ud558\uac8c \ud544\uc694\ud558\uc9c0 \uc54a\ub2e4. \ud558\uc9c0\ub9cc \ud154\ub808\uadf8\ub7a8\uc744 \uc0ac\uc6a9\ud574\uc57c\ud560 \uc774\uc720\uac00 \uc0dd\uacbc\ub2e4. \ud154\ub808\uadf8\ub7a8\uc774 \uc11c\ubc84\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 CLI\ub97c \uc81c\uacf5\ud558\uace0 \uc788\uace0, lua\ub098 python\uc73c\ub85c \uc190\uc27d\uac8c \uba54\uc2e0\uc800\uc640 \uc5f0\ub3d9\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>\uadf8\ub798\uc11c \ud154\ub808\uadf8\ub7a8\uc6a9 lua\uc2a4\ud06c\ub9bd\ud2b8\ub97c \ub9cc\ub4e4\uc5b4\uc11c \uc11c\ubc84 \uc0c1\ud0dc\ub97c \ud3f0\uc5d0\uc11c \ubc1b\uc544\ubcfc \uc218 \uc788\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \ud2b9\uc815 \uc11c\ubc84\uc758 MRTG\/RRD\ub97c \uba54\uc2e0\uc800\ub85c \uc694\uccad\ud558\uba74 \uadf8 \uc774\ubbf8\uc9c0\ub97c \ubc1b\uc544 \ubcfc \uc218 \uc788\ub2e4. \uc11c\ubc84\uc758 load\uac12\ub3c4 \uac19\uc740 \ubc29\uc2dd\uc73c\ub85c return\ubc1b\uc744 \uc218 \uc788\ub2e4. \uc11c\ubc84\uc7a5\uc560 \ubb38\uc790\ub97c \ud154\ub808\uadf8\ub7a8\uc73c\ub85c \ubc1b\uc744 \uc218 \uc788\ub3c4\ub85d \ud558\uc2e0\ubd84\ub3c4 \uc788\ub2e4. (\u203b \uac1c\uc778\uc801\uc73c\ub85c\ub294 \uc774\ubbf8 SMS\ub85c \ubc1b\uace0 \uc788\ub294 \uac83\uc744 \ub2e4\uc2dc \ud154\ub808\uadf8\ub7a8\uc6a9\uc73c\ub85c \ub9cc\ub4e4 \ud544\uc694\ub294 \uc5c6\uc5c8\ub2e4.)<\/p>\n<p>\ud154\ub808\uadf8\ub7a8 CLI\uc124\uce58\ub294 &#8216;<a class=\"tx-link\" href=\"http:\/\/coffeenix.net\/board_view.php?bd_code=1759\" target=\"_blank\">\ub9ac\ub205\uc2a4\uc5d0 \ud154\ub808\uadf8\ub7a8(Telegram) CLI \uc124\uce58<\/a>&#8216; (\uae00 \uc88b\uc740\uc9c4\ud638)\ub97c \ucc38\uace0\ud558\uace0, \uc774 \uae00\uc740 \uc11c\ubc84 \ubaa8\ub2c8\ud130\ub9c1\uc6a9 \ud154\ub808\uadf8\ub7a8 \uc2a4\ud06c\ub9bd\ud2b8\uc640 \uc2e4\uc81c \uc0ac\uc6a9 \uc608\ub97c \ubcf4\uc5ec\uc904 \uac83\uc774\ub2e4.<\/p>\n<p><b>1. \ud154\ub808\uadf8\ub7a8 lua \uc2a4\ud06c\ub9bd\ud2b8 \uae30\ubcf8 \uad6c\uc870<\/b><\/p>\n<p>\uba54\uc2dc\uc9c0\ub97c \uc218\uc2e0\ud558\uba74 on_msg_receive \ud568\uc218\uac00 \ud638\ucd9c\ub41c\ub2e4. \uc774 \ud568\uc218\ub0b4\uc5d0\uc11c send_msg, send_photo, send_text \ub4f1\uc758 \ud568\uc218\ub97c \uc774\uc6a9\ud574\uc11c \uba54\uc2dc\uc9c0\ub97c \uc0c1\ub300\uc5d0\uc11c \ubcf4\ub0bc \uc218 \uc788\ub2e4. \ub2e4\uc74c\uc740 &#8216;hello&#8217;\ub97c \uc218\uc2e0\ud558\uba74, \uacb0\uacfc\ub97c \ubcf4\ub0b4\uc900\ub2e4.<\/p>\n<p>[ \uc2a4\ud06c\ub9bd\ud2b8 \uae30\ubcf8 \uad6c\uc870 : hello.lua ]<\/p>\n<div class=\"txc-textbox\">\n<p>function on_msg_receive (msg)<\/p>\n<p>if ( msg.text == &#8216;hello&#8217; ) then<\/p>\n<p>send_msg(msg.from.print_name, &#8220;world&#8221;, ok_cb, false)<\/p>\n<p>return<\/p>\n<p>end<\/p>\n<p>end<\/p>\n<p>function ok_cb(extra, success, result)<\/p>\n<p>end<\/p>\n<\/div>\n<div class=\"txc-textbox\">\n<p>$ <b>bin\/telegram-cli -s hello.lua<\/b><\/p>\n<p>&#8230; \uc0dd\ub7b5 &#8230;<\/p>\n<p>[14:21] \u00a0Jinho &gt;&gt;&gt; aa<\/p>\n<p>User Jinho is typing<\/p>\n<p>[14:22] \u00a0Jinho &gt;&gt;&gt; bb<\/p>\n<p>User Jinho is typing<\/p>\n<p>User Jinho is typing<\/p>\n<p>[14:22] \u00a0Jinho &gt;&gt;&gt; \ud5ec\ub85c\uc6b0<\/p>\n<p>User Jinho is typing<\/p>\n<p>[14:22] \u00a0Jinho &gt;&gt;&gt; hello<\/p>\n<p>[14:22] \u00a0Jinho &lt;&lt;&lt; world<\/p>\n<p>User Jinho marked read 1 outbox and 0 inbox messages<\/p>\n<p>&gt;<\/p>\n<\/div>\n<p><span class=\"imageblock\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/cfile27.uf.tistory.com\/image\/261CC43B543DF3EA2ED4D5\" alt=\"telegram-cli \uc2e4\ud589\ud654\uba74\" width=\"488\" height=\"301\" \/><span class=\"cap1\">[ telegram-cli \uc2e4\ud589\ud654\uba74 ]<\/span><\/span><\/p>\n<p><span class=\"imageblock\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/cfile2.uf.tistory.com\/image\/22361536543DF41F28BEC5\" alt=\"\uc2a4\ub9c8\ud2b8\ud3f0 \uc5b4\ud50c \ud654\uba74\" width=\"320\" height=\"456\" \/><span class=\"cap1\">[ \uc2a4\ub9c8\ud2b8\ud3f0 \uc5b4\ud50c \ud654\uba74 ]<\/span><\/span><br \/>\n<span id=\"callbacknesttruefeeltistorycom2242868\"><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><b>2. \uc11c\ubc84\ubaa8\ub2c8\ud130\ub9c1\uc6a9 \uc2a4\ud06c\ub9bd\ud2b8 \uc0b4\ud3b4\ubcf4\uae30<\/b><\/p>\n<p>[ \ubaa8\ub2c8\ud130\ub9c1\uc6a9 \uc2a4\ud06c\ub9bd\ud2b8 \uc77c\ubd80 : <a class=\"tx-link\" href=\"http:\/\/coffeenix.net\/data\/files\/telegram_server_mon.lua.txt\" target=\"_blank\">server_mon.lua<\/a>\u00a0]<\/p>\n<div class=\"txc-textbox\">\n<p>now = os.time()<\/p>\n<p>dir_cmd = &#8220;\/home\/cnx\/cmd&#8221;<\/p>\n<p>cmd_ping = &#8220;cd &#8220;.. dir_cmd ..&#8221;; sh ping.sh&#8221;<\/p>\n<p>cmd_load = &#8220;cd &#8220;.. dir_cmd ..&#8221;; sh load.sh&#8221;<\/p>\n<p>cmd_netlog = &#8220;cd &#8220;.. dir_cmd ..&#8221;; sh show_netlog.sh&#8221;<\/p>\n<p>cmd_mrtg = &#8220;cd &#8220;.. dir_cmd ..&#8221;; perl mrtg.pl&#8221;<\/p>\n<p>cmd_404 = &#8220;cd &#8220;.. dir_cmd ..&#8221;; perl 404.pl&#8221;<\/p>\n<p>mrtg_res = {&#8220;load&#8221;, &#8220;swap&#8221;, &#8220;public_if&#8221;, &#8220;private_if&#8221;, &#8220;disk_io&#8221;, &#8220;memory_free&#8221;, &#8220;memory_inactive&#8221;}<\/p>\n<p>auth_phone = {[&#8220;821012345678&#8221;] = true, [&#8220;821087654321&#8221;] = true }<\/p>\n<p>&#8212; \uba54\uc2dc\uc9c0 \uc218\uc2e0 \ucc98\ub9ac<\/p>\n<p>function on_msg_receive (msg)<\/p>\n<p>if msg.date &lt; now then<\/p>\n<p>return<\/p>\n<p>end<\/p>\n<p>if msg.out then<\/p>\n<p>return<\/p>\n<p>end<\/p>\n<p>&#8212; command<\/p>\n<p>local recv_msg = &#8220;&#8221;<\/p>\n<p>if ( msg.text ~= nil ) then<\/p>\n<p>recv_msg \u00a0= string.gsub(msg.text,&#8221;[;|&lt;&gt;]&#8221;,&#8221;&#8221;)&#8211; \ubc1b\uc740 msg\uc911\uc5d0 ;, |, &lt;, &gt; \ub4f1\uc758 \ubb38\uc790\ub294 \uc9c0\uc6c0<\/p>\n<p>end<\/p>\n<p>local cmd, arg \u00a0= split(recv_msg)&#8211; exam : ping a b c d =&gt; cmd = &#8220;ping&#8221;, arg = &#8220;a b c d&#8221;<\/p>\n<p>local file_name = &#8220;&#8221;<\/p>\n<p>cmd = string.lower(cmd)<\/p>\n<p>print(&#8220;receive : &#8220;, cmd, &#8220;n&#8221;)<\/p>\n<p>&#8212; user_info<\/p>\n<p>print(&#8220;Name \u00a0 \u00a0: &#8220;, msg.from.print_name)&#8211; \uba54\uc2dc\uc9c0 \ubcf4\ub0b8\uc0ac\ub78c real name (Jinho)<\/p>\n<p>print(&#8220;Phone \u00a0 : &#8220;, msg.from.phone)&#8211; \uba54\uc2dc\uc9c0 \ubcf4\ub0b8\uc0ac\ub78c \uc804\ud654\ubc88\ud638 \u00a0(8210AAAABBBB)<\/p>\n<p>print(&#8220;Msg Num : &#8220;, msg.id)&#8211; \uba54\uc2dc\uc9c0 \ubc88\ud638<\/p>\n<p>print(&#8220;to.Name : &#8220;, msg.to.print_name)<\/p>\n<p>&#8212; \uc77c\ubc18\ub300\ud654, \ube44\ubc00\ub300\ud654 \uad6c\ubd84\ud574\uc11c \uba54\uc2dc\uc9c0 \uc804\uc1a1<\/p>\n<p>if (msg.to.id == our_id) then<\/p>\n<p>user_id= msg.from.print_name&#8211; \uc77c\ubc18\ub300\ud654\ucc3d<\/p>\n<p>else<\/p>\n<p>user_id= msg.to.print_name&#8211; \ube44\ubc00\ub300\ud654\ucc3d<\/p>\n<p>end<\/p>\n<p>&#8212; auth (\uc9c0\uc815\ud55c \ud3f0\ubc88\ud638\ub9cc \uc778\uc99d)<\/p>\n<p>if auth_phone[msg.from.phone] then<\/p>\n<p>print &#8220;auth \u00a0 \u00a0: OK &#8221;<\/p>\n<p>else<\/p>\n<p>print &#8220;auth \u00a0 \u00a0: invalid user&#8221;<\/p>\n<p>return<\/p>\n<p>end<\/p>\n<p>mark_read(user_id, ok_cb, false)&#8211; \uc77d\uc740 \uba54\uc2dc\uc9c0\ub85c \ud45c\uc2dc<\/p>\n<p>&#8212; ping<\/p>\n<p>if ( cmd == &#8216;ping&#8217; ) then<\/p>\n<p>os.execute(cmd_ping .. arg)<\/p>\n<p>send_text(user_id, dir_cmd ..&#8217;\/result_ping.txt&#8217;, ok_cb, false)<\/p>\n<p>return<\/p>\n<p>end<\/p>\n<p>&#8212; load<\/p>\n<p>if ( cmd == &#8216;load&#8217; ) then<\/p>\n<p>&#8230; \uc0dd\ub7b5 &#8230;<\/p>\n<p>end<\/p>\n<p>&#8212; netlog<\/p>\n<p>if ( cmd == &#8216;netlog&#8217; ) then<\/p>\n<p>&#8230; \uc0dd\ub7b5 &#8230;<\/p>\n<p>end<\/p>\n<p>&#8212; MRTG<\/p>\n<p>if ( cmd == &#8216;mrtg&#8217; ) then<\/p>\n<p>os.execute(cmd_mrtg .. arg)<\/p>\n<p>arg = trim(arg)<\/p>\n<p>for i=1, table.maxn(mrtg_res) do<\/p>\n<p>file_name = dir_cmd ..&#8221;\/&#8221;.. arg ..&#8221;_&#8221;.. mrtg_res[i] ..&#8221;-day.png&#8221;&#8211; DIR\/FILE<\/p>\n<p>&#8212; print (file_name)<\/p>\n<p>if ( file_exists(file_name) ) then<\/p>\n<p>send_photo(user_id, file_name, ok_cb, false)<\/p>\n<p>end<\/p>\n<p>end<\/p>\n<p>return<\/p>\n<p>end<\/p>\n<p>&#8212; web 403\/404 status<\/p>\n<p>if ( cmd == &#8216;404&#8217; ) then<\/p>\n<p>&#8230; \uc0dd\ub7b5 &#8230;<\/p>\n<p>end<\/p>\n<p>&#8212; help<\/p>\n<p>&#8212; if ( cmd ~= &#8221; ) then<\/p>\n<p>if ( cmd == &#8216;help&#8217; ) then<\/p>\n<p>send_text(user_id, dir_cmd ..&#8217;\/help.txt&#8217;, ok_cb, false)<\/p>\n<p>end<\/p>\n<p>end<\/p>\n<p>&#8230; \uc0dd\ub7b5 &#8230;<\/p>\n<\/div>\n<p>\uc8fc\uc694\ubd80\ubd84\uc744 \uc0b4\ud3b4\ubcf4\uc790.<\/p>\n<div class=\"txc-textbox\">\n<p>if ( cmd == &#8216;ping&#8217; ) then<\/p>\n<p>os.execute(cmd_ping .. arg)<\/p>\n<p>send_text(user_id, dir_cmd ..&#8217;\/result_ping.txt&#8217;, ok_cb, false)<\/p>\n<p>return<\/p>\n<p>end<\/p>\n<\/div>\n<p>\ubaa8\ub2c8\ud130\ub9c1\uc6a9 \uc2a4\ud06c\ub9bd\ud2b8\uc5d0\uc11c\ub294 \uac01 \uba85\ub839\uc5b4\ub9c8\ub2e4 \uc678\ubd80 \uba85\ub839\uc744 \ud638\ucd9c\ud558\uace0 \uacb0\uacfc\ub97c text\ud30c\uc77c\ub85c \uc800\uc7a5\ud588\ub2e4. \uadf8\ub9ac\uace0, \uadf8 text\ud30c\uc77c \ub0b4\uc6a9\uc744 \uba54\uc2dc\uc9c0\ub85c \ubfcc\ub824\uc9c0\ub3c4\ub85d \ud588\ub2e4. \uba85\ub839\uc5b4 \ucd94\uac00\ub294 if ( cmd == &#8216;\uba85\ub839\uc5b4 &#8216; ) then \ud615\ud0dc\ub85c \ud655\uc7a5\ud574\uc8fc\uace0, \uc678\ubd80 \uba85\ub839 \ucc98\ub9ac\ud560 \uc2a4\ud06c\ub9bd\ud2b8\ub9cc \ub9cc\ub4e4\uc5b4\uc8fc\uba74 \ub41c\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<div class=\"txc-textbox\">\n<p>if (msg.to.id == our_id) then<\/p>\n<p>user_id= msg.from.print_name&#8211; \uc77c\ubc18\ub300\ud654\ucc3d<\/p>\n<p>else<\/p>\n<p>user_id= msg.to.print_name&#8211; \ube44\ubc00\ub300\ud654\ucc3d<\/p>\n<p>end<\/p>\n<\/div>\n<p>secret chat\uc744 \uc9c0\uc6d0\ud55c\ub2e4. msg.to.id == our_id \ub77c\uba74, \uc989 \ubc1b\ub294 \uc0ac\ub78c\uacfc CLI \uba54\uc2e0\uc800 \uc720\uc800\uac00 \uac19\ub2e4\uba74 \uc77c\ubc18\ub300\ud654\ucc3d\uc73c\ub85c \ub300\ud654\uc911\uc774\uace0, \uadf8\ub807\uc9c0 \uc54a\ub294 \uac83\uc740 \ube44\ubc00\ub300\ud654\uc774\ub2e4. \ube44\ubc00\ub300\ud654\ub294 msg.from.print_name\uc774 \uc544\ub2cc msg.to.print_name \uc5d0\uac8c \uba54\uc2dc\uc9c0\ub97c \ubcf4\ub0b4\uc57c \ud55c\ub2e4. \uc544\ub798 \ub8e8\ud2f4\uc774 \uc5c6\ub2e4\uba74 \ud3f0\uc5d0\uc11c \ube44\ubc00\ub300\ud654\ub85c \uba54\uc2dc\uc9c0\ub97c \ubcf4\ub0c8\ub354\ub77c\ub3c4 CLI\uc5d0\uc11c\ub294 \uc751\ub2f5\uc744 \uc77c\ubc18\ub300\ud654\ucc3d\uc73c\ub85c \ubcf4\ub0b8\ub2e4.<\/p>\n<div class=\"txc-textbox\">\n<p>if auth_phone[msg.from.phone] then<\/p>\n<p>print &#8220;auth \u00a0 \u00a0: OK &#8221;<\/p>\n<p>else<\/p>\n<p>print &#8220;auth \u00a0 \u00a0: invalid user&#8221;<\/p>\n<p>return<\/p>\n<p>end<\/p>\n<\/div>\n<p>auth_phone \uc5d0\uc11c \uc9c0\uc815\ud55c \ud734\ub300\ud3f0\uc5d0\uc11c\ub9cc \uba85\ub839\uc744 \ucc98\ub9ac\ud55c\ub2e4.<\/p>\n<div class=\"txc-textbox\">\n<p>mark_read(user_id, ok_cb, false)<\/p>\n<\/div>\n<p>\uba54\uc2dc\uc9c0\ub97c \uc77d\uc740 \uac83\uc73c\ub85c \ud45c\uc2dc\ud55c\ub2e4.<\/p>\n<p>\u203b lua\uc2a4\ud06c\ub9bd\ud2b8\ub97c \ucc98\uc74c\ud574\ubd24\ub2e4. lua \ub9e4\ub274\uc5bc\uc744 \ubcf4\uba74\uc11c \uc2a4\ud06c\ub9bd\ud2b8\ub97c \ud558\ub8e8\uc5d0 \ub9cc\ub4e4\uace0, \uadf8 \uc774\ud6c4\uc5d0 \ud55c\ubc88 \uae30\ub2a5\uc744 \ucd94\uac00\ud55c \uc815\ub3c4\ub2e4. \uadf8\ub798\uc11c \uc2a4\ud06c\ub9bd\ud2b8 lua\uac1c\ubc1c\uc790\ub4e4\uc774 \ubcf4\uae30\uc5d0\ub294 \uc88b\uc9c0 \uc54a\uc740 \ubd80\ubd84\ub3c4 \uc788\uc744 \uac83\uc774\ub2e4. lua\uace0\uc218\uc5d0\uac8c\ub294 \uc5f0\ud544\uae4d\ub294 \uce7c\ucc98\ub7fc \ubed1\ubed1\ud558\uac8c \ubcf4\uc77c \uc218 \uc788\uaca0\uc9c0\ub9cc, \ub204\uad70\uac00 \ub2e4\ub4ec\uc5b4 \uc0ac\uc6a9\ud558\uba74 \uc0dd\uc120\ud68c\uac10\uc6a9 \uce7c\ucc98\ub7fc \ud73c\ub96d(?)\ud558\uac8c \uc4f0\uc77c \uc218 \uc788\uc744 \uac83 \uac19\ub2e4.<\/p>\n<p>\u203b ping.sh, load.sh \ub4f1\uc758 \uc678\ubd80 \ud638\ucd9c \uc2a4\ud06c\ub9bd\ud2b8\ub294 \uacf5\uac1c\ud558\uc9c0 \uc54a\uaca0\ub2e4. \ub0b4\ubd80 \uc11c\ubc84\ub4e4\uc758 \ub370\uc774\ud130\ub97c \ucd94\ucd9c\ud558\ub294 \ubd80\ubd84\uc774\ub77c\uc11c \uacf5\uac1c\ud558\uae30\uac00 \uc27d\uc9c0 \uc54a\uace0, \uc774 \uae00\uc744 \uc77d\ub294 \ubd84\ub4e4\uc758 \uc11c\ubc84\uc0c1\ud669\uc774 \uc800\uc640\ub294 \ub2e4\ub97c\ud14c\ub2c8 \uc2a4\ud06c\ub9bd\ud2b8 \ub0b4\uc6a9\ubcf4\ub2e4\ub294 \ud638\ucd9c \ubc29\uc2dd\ub9cc \ub208\uc5ec\uaca8 \ubcf4\uba74 \uc88b\uc744 \uac83 \uac19\ub2e4.<\/p>\n<p><b>3. \ud154\ub808\uadf8\ub7a8 CLI \uc2e4\ud589<\/b><\/p>\n<div class=\"txc-textbox\">\n<p>$ <b>bin\/telegram-cli -s server_mon.lua<\/b><\/p>\n<p>\ub610\ub294<\/p>\n<p>$ <b>bin\/telegram-cli -s server_mon.lua -d &amp;<\/b><\/p>\n<\/div>\n<p>\ud14c\uc2a4\ud2b8\uc704\ud574\uc11c\ub294 -s \uc635\uc158\ub9cc, \ucd94\ud6c4 \uc6b4\uc601\ud558\uae30 \uc704\ud574\uc11c\ub294 -d \uc635\uc158\uc73c\ub85c \ub123\uc5b4 \ub370\ubaac\ud615\ud0dc\ub85c \uc2e4\ud589\ud55c\ub2e4.<\/p>\n<p><span class=\"imageblock\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/cfile7.uf.tistory.com\/image\/2525AB3B543DF5912CFE13\" alt=\"telegram-cli \ud654\uba74\" width=\"460\" height=\"510\" \/><span class=\"cap1\">[ telegram-cli \ud654\uba74 : help\ub97c \ubcf4\ub0b4\uc8fc\uace0, ping \uacb0\uacfc\ub97c \ubcf4\ub0b4\uc900 \ud654\uba74 ]<\/span><\/span><\/p>\n<p><span class=\"imageblock\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/cfile28.uf.tistory.com\/image\/255E0538543DF5DB344F27\" alt=\"\ud154\ub808\uadf8\ub7a8 \uc2a4\ub9c8\ud2b8\ud3f0 \uc5b4\ud50c \ud654\uba74\" width=\"320\" height=\"625\" \/><span class=\"cap1\">[ \uc2a4\ub9c8\ud2b8\ud3f0 \uc5b4\ud50c \ud654\uba74 : \uc544\ubb34\ud0a4\ub098 \uc785\ub825\ud574\uc11c \ub3c4\uc6c0\ub9d0\uc744 \ud655\uc778, \uc11c\ubc84\uadf8\ub8f9\ubcc4 ping\uacfc \uac1c\ubcc4 IP\ubcc4 ping \uacb0\uacfc \uc694\uccad ]<\/span><\/span><\/p>\n<p>\u203b \uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc218\uc815\ud574\uc11c &#8216;help&#8217;\uba85\ub839\uc744 \ub0b4\ub838\uc744 \ub54c\ub9cc \ub3c4\uc6c0\ub9d0\uc744 \ubcf4\uc5ec\uc8fc\ub3c4\ub85d \ubc14\uafe8\ub2e4. \uc2a4\ud06c\ub9bd\ud2b8 \uc218\uc815 \uc804\uc5d0 \ucea1\uccd0\ud55c \uac83\uc784.<\/p>\n<p><span class=\"imageblock\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/cfile10.uf.tistory.com\/image\/240DD439543DF64031E820\" alt=\"telegram-cli \ud654\uba74\" width=\"460\" height=\"455\" \/><span class=\"cap1\">[ telegram-cli \ud654\uba74 : load \uacb0\uacfc, MRTG \uadf8\ub798\ud504 7\uac1c\ub97c \ubcf4\ub0b4\uc900 \ud654\uba74 ]<\/span><\/span><\/p>\n<p><span class=\"imageblock\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/cfile9.uf.tistory.com\/image\/24295939543DF640024D46\" alt=\"\ud154\ub808\uadf8\ub7a8 \uc5b4\ud50c \ud654\uba74\" width=\"320\" height=\"757\" \/><span class=\"cap1\">[ \uc2a4\ub9c8\ud2b8\ud3f0 \uc5b4\ud50c \ud654\uba74 : load \uacb0\uacfc, MRTG \uadf8\ub798\ud504\ub97c \ubc1b\uc740 \ud654\uba74 ]<\/span><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><b>4. \ucc38\uace0\uc790\ub8cc<\/b><\/p>\n<p>* <b>\ud154\ub808\uadf8\ub7a8 CLI \uc18c\uc2a4\uc5d0 \ub4e4\uc5b4\uc788\ub294 test.lua<\/b><\/p>\n<p>* <b><a class=\"tx-link\" href=\"https:\/\/github.com\/vysheng\/tg\/blob\/master\/README-LUA\" target=\"_blank\">\ud154\ub808\uadf8\ub7a8 README-LUA<\/a><\/b><\/p>\n<p>* <b><a class=\"tx-link\" href=\"http:\/\/stackoverflow.com\/questions\/4990990\/lua-check-if-a-file-exists\" target=\"_blank\">Lua check if a file exists<\/a><\/b><\/p>\n<p>* <b><a class=\"tx-link\" href=\"http:\/\/www.forum-raspberrypi.de\/Thread-tutorial-telegram-messenger-client-auf-dem-raspberry?page=2\" target=\"_blank\">Telegram Messenger Client<\/a><\/b><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>http:\/\/truefeel.tistory.com\/224 &nbsp; \uba54\uc2e0\uc800 \uac80\uc5f4\ub85c &#8216;\ud154\ub808\uadf8\ub7a8(Telegram)&#8217; \uad11\ud48d\uc774 \ubd88\uace0 \uc788\ub2e4. \uac1c\uc778\uc801\uc73c\ub85c \uce74\ud1a1\uc744 \uc790\uc8fc \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc544, \ud154\ub808\uadf8\ub7a8\uc774 \uc808\uc2e4(?)\ud558\uac8c \ud544\uc694\ud558\uc9c0 \uc54a\ub2e4. \ud558\uc9c0\ub9cc \ud154\ub808\uadf8\ub7a8\uc744 \uc0ac\uc6a9\ud574\uc57c\ud560 \uc774\uc720\uac00 \uc0dd\uacbc\ub2e4. \ud154\ub808\uadf8\ub7a8\uc774 \uc11c\ubc84\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 CLI\ub97c \uc81c\uacf5\ud558\uace0 \uc788\uace0, lua\ub098 python\uc73c\ub85c \uc190\uc27d\uac8c \uba54\uc2e0\uc800\uc640 \uc5f0\ub3d9\ud560 \uc218 \uc788\ub2e4. \uadf8\ub798\uc11c \ud154\ub808\uadf8\ub7a8\uc6a9 lua\uc2a4\ud06c\ub9bd\ud2b8\ub97c \ub9cc\ub4e4\uc5b4\uc11c \uc11c\ubc84 \uc0c1\ud0dc\ub97c \ud3f0\uc5d0\uc11c \ubc1b\uc544\ubcfc \uc218 \uc788\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \ud2b9\uc815 \uc11c\ubc84\uc758 MRTG\/RRD\ub97c \uba54\uc2e0\uc800\ub85c \uc694\uccad\ud558\uba74 \uadf8 \uc774\ubbf8\uc9c0\ub97c \ubc1b\uc544 \ubcfc \uc218 \uc788\ub2e4. \uc11c\ubc84\uc758 load\uac12\ub3c4 \uac19\uc740 \ubc29\uc2dd\uc73c\ub85c return\ubc1b\uc744 \uc218 \uc788\ub2e4. \uc11c\ubc84\uc7a5\uc560 \ubb38\uc790\ub97c \ud154\ub808\uadf8\ub7a8\uc73c\ub85c \ubc1b\uc744 \uc218 \uc788\ub3c4\ub85d \ud558\uc2e0\ubd84\ub3c4 \uc788\ub2e4. (\u203b \uac1c\uc778\uc801\uc73c\ub85c\ub294 \uc774\ubbf8 SMS\ub85c \ubc1b\uace0 \uc788\ub294 \uac83\uc744 \ub2e4\uc2dc \ud154\ub808\uadf8\ub7a8\uc6a9\uc73c\ub85c \ub9cc\ub4e4 \ud544\uc694\ub294 \uc5c6\uc5c8\ub2e4.) \ud154\ub808\uadf8\ub7a8 CLI\uc124\uce58\ub294 &#8216;\ub9ac\ub205\uc2a4\uc5d0 \ud154\ub808\uadf8\ub7a8(Telegram) CLI \uc124\uce58&#8216; (\uae00 \uc88b\uc740\uc9c4\ud638)\ub97c \ucc38\uace0\ud558\uace0, \uc774 \uae00\uc740 \uc11c\ubc84 \ubaa8\ub2c8\ud130\ub9c1\uc6a9 \ud154\ub808\uadf8\ub7a8 \uc2a4\ud06c\ub9bd\ud2b8\uc640 \uc2e4\uc81c \uc0ac\uc6a9 \uc608\ub97c \ubcf4\uc5ec\uc904 \uac83\uc774\ub2e4. 1. \ud154\ub808\uadf8\ub7a8 lua \uc2a4\ud06c\ub9bd\ud2b8 \uae30\ubcf8 \uad6c\uc870 \uba54\uc2dc\uc9c0\ub97c \uc218\uc2e0\ud558\uba74 on_msg_receive \ud568\uc218\uac00 \ud638\ucd9c\ub41c\ub2e4. \uc774 \ud568\uc218\ub0b4\uc5d0\uc11c send_msg, send_photo, send_text \ub4f1\uc758 \ud568\uc218\ub97c \uc774\uc6a9\ud574\uc11c \uba54\uc2dc\uc9c0\ub97c \uc0c1\ub300\uc5d0\uc11c \ubcf4\ub0bc \uc218 \uc788\ub2e4. \ub2e4\uc74c\uc740 &#8216;hello&#8217;\ub97c \uc218\uc2e0\ud558\uba74, \uacb0\uacfc\ub97c \ubcf4\ub0b4\uc900\ub2e4. [ \uc2a4\ud06c\ub9bd\ud2b8 \uae30\ubcf8 \uad6c\uc870 : hello.lua ] function on_msg_receive (msg) if ( msg.text == &#8216;hello&#8217; ) then send_msg(msg.from.print_name, &#8220;world&#8221;, ok_cb, false) return end end function ok_cb(extra, success, result) end $ bin\/telegram-cli -s hello.lua &#8230; \uc0dd\ub7b5 &#8230; [14:21] \u00a0Jinho &gt;&gt;&gt; aa User Jinho is typing [14:22] \u00a0Jinho &gt;&gt;&gt; bb User Jinho is typing User Jinho is typing [14:22] \u00a0Jinho &gt;&gt;&gt; \ud5ec\ub85c\uc6b0 User Jinho is typing [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"ngg_post_thumbnail":0,"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[4,5],"tags":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5q9Zn-cD","jetpack-related-posts":[{"id":785,"url":"https:\/\/blog.box.kr\/?p=785","url_meta":{"origin":783,"position":0},"title":"[scrap] \ud154\ub808\uadf8\ub7a8(Telegram) \uc73c\ub85c \uc11c\ubc84 \ubaa8\ub2c8\ud130\ub9c1 \ud558\uae30","date":"2015-05-13","format":false,"excerpt":"http:\/\/idchowto.com\/?p=4027 \uc9c0\ub09c \uc2dc\uac04\uc5d0 \uc774\uc5b4 \uc774\ubc88 \uc2dc\uac04\uc5d0\ub294 Telegram \uc73c\ub85c \uc11c\ubc84 \ubaa8\ub2c8\ud130\ub9c1 \ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc0b4\ud3b4\ubcf4\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4. \uba3c\uc800 \uac16\ucdb0\uc838\uc57c\ud560 \ud658\uacbd\uc870\uac74\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. \u00a0 < \u00a0\ud658\uacbd\uc870\uac74 > - \uc11c\ubc84\uce21 1. Telegram-cli \uc124\uce58 2. lua \uc2a4\ud06c\ub9bd\ud2b8\uac00 \uac00\ub3d9\ub418\uc5b4 \uc788\uc5b4\uc57c \ud568 - \ud074\ub77c\uc774\uc5b8\ud2b8\uce21 1. \uc778\uc99d\ub41c Telegram \uc571\uc774 \uc124\uce58\ub41c \uc2a4\ub9c8\ud2b8\ud3f0 \u00a0 1. hello.lua \uc2a4\ud06c\ub9bd\ud2b8 \ubb38 function on_msg_receive\u2026","rel":"","context":"In &quot;\uae30\uc220&quot;","img":{"alt_text":"idchowto_cover8","src":"https:\/\/i0.wp.com\/idchowto.com\/wp-content\/uploads\/2014\/10\/idchowto_cover81.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":362,"url":"https:\/\/blog.box.kr\/?p=362","url_meta":{"origin":783,"position":1},"title":"[\ud38c]Trello \uc544\ud0a4\ud14d\ucc98","date":"2014-09-15","format":false,"excerpt":"Trello \uc544\ud0a4\ud14d\ucc98 CoffeeScript Trello\uc758 \ud074\ub77c\uc774\uc5b8\ud2b8\uc640 \uc11c\ubc84 \ubaa8\ub450 \uc21c\uc218 \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8 \ud504\ub85c\uc81d\ud2b8\ub85c \uc2dc\uc791\ub418\uc5c8\uace0, 2011\ub144 5\uc6d4\uae4c\uc9c0\ub294 \uc801\uc5b4\ub3c4 \uadf8\ub807\uac8c \uc720\uc9c0\ub418\uc5c8\ub294\ub370 \uadf8 \uc774\ud6c4\ubd80\ud130 CoffeeScript\ub97c \uc5bc\ub9c8\ub098 \uc88b\uc544\ud558\ub294\uc9c0 \ubcf4\uae30 \uc704\ud574\uc11c CoffeeScript\ub85c \uc774\uc911\uc73c\ub85c \uac1c\ubc1c\ud574 \ud3ec\ud305\ud558\uae30 \uc2dc\uc791\ud588\ub2e4. \uadf8 \ud6c4 \uc6b0\ub9ac\ub294 CoffeeScript\ub97c \uc0ac\ub791\ud568\uc744 \ud655\uc778\ud588\uace0 \uace7, \ub098\uba38\uc9c0 \ubaa8\ub450\uc758 \ucf54\ub4dc\ub3c4 CoffeeScript\ub85c \uc804\ud658\uc744 \uc644\ub8cc\ud588\ub2e4.\u00a0 CoffeeScript\ub294 JavaScript\ub97c \uc77d\uc744 \uc218 \uc788\ub294 \ucef4\ud30c\uc77c \uc5b8\uc5b4\uc774\ub2e4. \uc6b0\ub9ac\uac00 \uc2dc\uc791\ud588\uc744\u2026","rel":"","context":"In &quot;\ucc38\uace0\ub97c \uc704\ud55c \uc800\uc7a5\ubb3c&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":246,"url":"https:\/\/blog.box.kr\/?p=246","url_meta":{"origin":783,"position":2},"title":"\ud14c\uc2a4\ud2b8 \uc790\ub3d9\ud654 \ub3c4\uad6c GUITAR","date":"2014-07-23","format":false,"excerpt":"http:\/\/dev.naver.com\/projects\/guitar \ud14c\uc2a4\ud2b8 \uc790\ub3d9\ud654 \ub3c4\uad6c GUITAR\u00a0The Platform 2011 2011.12.23\u00a013:41 \u00a0 NHN \uac80\uc0c9QA\ud300 \uc190\ubbfc\ud601 \ub04a\uc784\uc5c6\uc774 \ud14c\uc2a4\ud2b8 \uc790\ub3d9\ud654 \ub3c4\uad6c\uac00 \ub098\uc624\ub294 \uc774\uc720\ub294, \uadf8 \ud544\uc694\uc131\uc740 \uc808\ub300\uc801\uc774\uc9c0\ub9cc \uadf8 \uc5b4\ub290 \uac83\ub3c4 \uc694\uad6c\ub97c \ucda9\ubd84\ud788 \ub9cc\uc871\uc2dc\ud0a4\uc9c0 \ubabb\ud558\uace0 \uc788\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. QA \ubd80\uc11c\uc5d0 \uc788\uc73c\uba74\uc11c \uc8fc\ubcc0\uc758 \ud14c\uc2a4\ud2b8 \uc790\ub3d9\ud654 \uc0ac\ub840\ub97c \uc0b4\ud3b4\ubcf4\uba74, \uc790\ub3d9\ud654 \uc791\uc5c5\uc744 \uc9c4\ud589\ud558\ub2e4\uac00 \uc5b4\ub290\uc0c8 \uc870\uc6a9\ud788 \uc911\ub2e8\ud558\uae30\ub3c4 \ud558\uace0, \ub05d\uae4c\uc9c0 \uc644\ub8cc\ud574\ub3c4 \uc624\ub7ab\ub3d9\uc548 \uc720\uc9c0\ubcf4\uc218\ud558\uc9c0 \ubabb\ud558\ub294\u2026","rel":"","context":"In &quot;\ucc38\uace0\ub97c \uc704\ud55c \uc800\uc7a5\ubb3c&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":379,"url":"https:\/\/blog.box.kr\/?p=379","url_meta":{"origin":783,"position":3},"title":"[\ud38c]\ube60\ub974\uac8c \ud6dd\uc5b4 \ubcf4\ub294 node.js","date":"2014-09-15","format":false,"excerpt":"http:\/\/bcho.tistory.com\/889 \ube60\ub974\uac8c \ud6dd\uc5b4 \ubcf4\ub294 node.js - #6 MongoDB \uc5f0\ub3d9 (mongo-native) \ud074\ub77c\uc6b0\ub4dc \ucef4\ud4e8\ud305 & NoSQL\/Vert.x & Node.js\u00a0|\u00a02014\/04\/03 23:49\u00a0|\u00a0Posted by\u00a0\uc870\ub300\ud611 \ube60\ub974\uac8c \ud6dd\uc5b4\ubcf4\ub294\u00a0node.js #6- mongo-native \ubaa8\ub4c8\uc744 \uc774\uc6a9\ud55c MongoDB \uc5f0\ub3d9 \uc870\ub300\ud611\u00a0(http:\/\/bcho.tistory.com Persistence\u00a0\uc5f0\ub3d9 node.js\ub294\u00a0DB\ub098\u00a0NoSQL\ub4f1\uc758 \uc5f0\ub3d9\uc744 \uc9c0\uc6d0\ud558\ub294\ub370,\u00a0\uc774 \uc5ed\uc2dc \ucca0\uc800\ud558\uac8c\u00a0non-blocking io\u00a0\ubc29\uc2dd\uc73c\ub85c \ub3d9\uc791\ud55c\ub2e4.\u00a0\uc989\u00a0db\u00a0\uc5f0\uacb0\u00a0socket\uc744 \uc5f4\uc5b4\uc11c\u00a0query\ub97c \ub358\uc838\ub193\uace0, query\u00a0\uacb0\uacfc\uac00 \uc624\uba74 \uc774\ubca4\ud2b8\ub97c \ubc1b\uc544\uc11c\u00a0callback\u00a0\ud568\uc218\ub85c \ucc98\ub9ac\ud558\ub294 \uc21c\uc11c\uc774\ub2e4. \uadf8\ub7ec\uba74 \uc5ec\uae30\uc11c\ub294 \uba87\uac00\uc9c0\u00a0persistence\u00a0\uc5f0\ub3d9 \ubc29\uc2dd\uc5d0 \ub300\ud574\uc11c \uc54c\uc544\ubcf4\ub3c4\ub85d \ud55c\ub2e4.\u2026","rel":"","context":"In &quot;\ucc38\uace0\ub97c \uc704\ud55c \uc800\uc7a5\ubb3c&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":367,"url":"https:\/\/blog.box.kr\/?p=367","url_meta":{"origin":783,"position":4},"title":"[\ud38c]Scala \uc2dc\uc791\ud558\uae30","date":"2014-09-15","format":false,"excerpt":"\u00a0 http:\/\/ppassa.wordpress.com\/2012\/02\/19\/getting_started_scala\/ Scala \uc2dc\uc791\ud558\uae30 \uc694\uc998 \ub4e4\uc5b4\uc11c\u00a0Scala\ub97c \uacf5\ubd80\ud558\uace0 \uc788\ub2e4. \uc544\uc9c1 \ub9ce\uc774 \ubd80\uc871\ud558\uc9c0\ub9cc, \uc9c0\uae08\uae4c\uc9c0 \ubc30\uc6b4 \uac83\ub4e4 \uae30\ub85d\ud574\ub450\uace0, \ub610 \ud639\uc2dc \uc870\uae08\uc774\ub77c\ub3c4 \ub3c4\uc6c0\uc774 \ub418\ub294 \ubd84\ub4e4\uc774 \uc788\uc744 \uc9c0 \ubab0\ub77c \uacf5\uc720\ud574\ubcf4\uace0\uc790 \ud55c\ub2e4. 1. \ub4e4\uc5b4\uac00\uba70 \ubb58 \ub610 \ubc30\uc6cc\uc57c \ud55c\ub2e8 \ub9d0\uc778\uac00? \uc774\ubbf8 C++, Java, Python, Ruby, JavaScript \ub4f1 \ub9ce\uc740 \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4\ub4e4\uc774 \uc788\ub294\ub370, \uc65c \uc790\uafb8 \uc0c8\ub85c\uc6b4 \uc5b8\uc5b4\uac00 \ub098\uc624\uace0 \uc788\ub0d0?\u2026","rel":"","context":"In &quot;\ucc38\uace0\ub97c \uc704\ud55c \uc800\uc7a5\ubb3c&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":809,"url":"https:\/\/blog.box.kr\/?p=809","url_meta":{"origin":783,"position":5},"title":"[scrap] Replication Startup Options","date":"2015-05-18","format":false,"excerpt":"http:\/\/simonshin.egloos.com\/2247545 \u00a0 \ub9ac\ud50c\ub9ac\ucf00\uc774\uc158 \uc2a4\ud0c0\ud2b8\uc5c5 \uc635\uc158\ub4e4 \uc774 \uc139\uc158\uc5d0\uc11c\ub294 \uc5ec\ub7ec\ubd84\uc774 \uc2ac\ub808\uc774\ube0c \ub9ac\ud50c\ub9ac\ucf00\uc774\uc158 \uc11c\ubc84\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uc635\uc158\ub4e4\uc5d0 \ub300\ud574 \uc124\uba85\ud558\uae30\ub85c \ud55c\ub2e4. \uc774 \uc635\uc158\ub4e4\uc740 \uba85\ub839\uc5b4 \ub77c\uc778 \ub610\ub294 \uc635\uc158 \ud30c\uc77c\uc5d0\uc11c \uc9c0\uc815\ud560 \uc218 \uc788\ub2e4. \ub9c8\uc2a4\ud130\uc640 \uac01 \uc2ac\ub808\uc774\ube0c\uc5d0\uc11c, \uc5ec\ub7ec\ubd84\uc740 \uace0\uc720\uc758 \ub9ac\ud50c\ub9ac\ucf00\uc774\uc158 ID\ub97c \uc124\uc815\ud558\uae30 \uc704\ud574\uc11c \ubc18\ub4dc\uc2dc server-id\uc635\uc158\uc744 \uc0ac\uc6a9\ud574\uc57c \ud55c\ub2e4. \uac01 \uc11c\ubc84\uc758 \uacbd\uc6b0, \uc5ec\ub7ec\ubd84\uc740 1 \uc5d0\uc11c 232 \u2013 1\u2026","rel":"","context":"In &quot;DB\uad00\ub828&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/783"}],"collection":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=783"}],"version-history":[{"count":0,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/783\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=783"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=783"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=783"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}