[본 컨텐츠는 ICbanQ (아이씨뱅큐)에서 진행하는 파워블로거 활동의 일환으로, 아이씨뱅큐의 지원을 받아 작성되었습니다]



사용한 품목


1) 라즈베리파이B+ 베이직 키트: 

http://www.icbanq.com/shop/product_detail.asp?prod_code=P005607887&LType=R


들어가면서


 지난 포스팅까지 라즈비안 위에 서버를 구성하고 텔레그램 봇을 설치까지 마쳤다. 이제 텔레그램 CLI를 실행시키기 위해 번호를 등록하고 테스트 코드를 돌려보도록 하겠다. 가상번호로 텔레그램 봇을 만들어서라즈베리파이에 있는 텔레그램 번호와 내 폰의 텔레그램이 달라야 명령을 내릴 수 있다고 착각했다. 메일의 '내게쓰기'기능처럼 텔레그램도 나에게 메세지를 보낼 수 있었고 이를 이용해서 반응하도록 했다. 아래 URL을 참고했다. 자 이제 본격적으로 텔레그램 봇에 대해 이야기 해보도록 하자.

http://humit.tistory.com/62

Voxox



  처음에는 voxox라는 어플을 이용하여 가상번호를 만들려고 했다. 이 어플로 전화를 받거나 메세지를 받기 위해서는 결제를 해야 된다는 정보를 보고 '뭐, 1달러정도는 할 수 있다'라고 생각했다가 실수로 두번 결제했다. 으아ㅏㅏㅏㅏㅏ. $2.86가 바보 같이 내가 결제한 증거다. 



 생각해보니 내가 폰에 설치한 텔레그램은 이미 내 폰번호로 등록되어 있었다. 그러므로 텔레그램을 새롭게 쓰기 위해서는 번호를 등록해야 하고, 폰에 설치한 텔레그램에 등록된 번호를 voxox 로 받은 가상번호로 바꿔야했다. 근데 바꾸기 위해서는 텔레그램 서버로부터 코드를 받아야 하는데 그게 쉽지 않았다. 일반적으로 voxox는 아이패드나 블루스택, 지니모션과 같이 전화기능이 없는 환경에서 사용한다. voxox 어플을 설치하고 가상번호를 받아 전화로 쓰거나 카카오톡, 텔레그램을 쓰는 것이다. 그러므로 voxox를 사용하여 굳이 지금 내 폰에 등록된 텔레그램의 번호를 가상번호를 바꿀 필요가 없다는 결론을 내렸다.(블루스택은 기숙사에 서버로 쓰는 컴퓨터에 있어서 지금 당장 해볼 수 없었던 이유도 있었다),(문자로 코드도 안오는 이유도 있었다.)


'내게 쓰기' 기능과 간단한 텔레그램 봇


 그래서 '내게 쓰기'기능을 이용해보자고 생각했고, 내 번호를 직접 연락처에 넣고 메세지를 날렸다. 카카오톡에서 해보지 않았고 안될 것 같은 느낌이 들었는데, 텔레그램에서 되서 얼마나 기뻤는지 모른다. 


▲좋다!

아래와 같이 번호와 이름을 등록하면 login메세지가 뜬다. 처음에는 메모를 위한 봇을 원했지만, 어벤져스를 보면서 나도 자비스같은 봇을 가지고 싶었다. 생각 같은 것도 정리해두고 스크립트 같은 것을 만들어두고 텔레그램으로 명령을 내리면 자동으로 해주는 것을 하나하나 만들어 갈 예정이다. 훗 재밌겠군


이제 전화번호 등록도 됬으니까 소스를 짜보도록 하자. 간단하게 hello를 입력하면 world를 출력해주는 봇을 만들 것이다. 이것이 의미가 있는 것이 내 명령에 반응을 했다는 것을 의미하므로 world 출력하는 것 대신에 서버의 db에 접근하여 자료를 검색하고 출력하도록 만들 수 있다. 또, 텔레그램 봇에서도 사진을 보낼 수 있으므로 나만의 사진저장소, 짤방저장소를 만들 수 있을 것 같다 ^오^

1
2
3
4
5
6
7
8
9
function on_msg_receive(msg)
        if(string.lower(msg.text)=="hello")then
            mark_read(msg.from.print_name, ok_cb, false)
            send_msg(msg.from.print_name, "world", ok_cb, false)
        end
end
 
function ok_cb(extra, secces, result)
end
cs

 lua를 포스팅을 하며 처음 만져보므로 소스에 대한 내용을 이야기는 다음 포스팅에서 하도록 하겠다. 간단하게 말하고 넘어가자면 msg.text를 lower로 소문자를 만들어 "hello"라면 send_msg를 이용하여 "world"를 보내는 것이라 직관적으로 쉽게 알 수 있다. 아래 그림은 hello 명령을 폰에서 날렸을 때 텔레그램 봇에서 world를 보내도록 한 것이다.



 또 재밌는 것은 텔레그램은 웹버전도 제공한다는 것이다. 웹 브라우저에서 텔레그램 인증을 통해 바로바로 명령을 날릴 수 있다. 이를 활용할 수 있는 부분을 생각해봤는데, 외부망에서 사내 서버에 직접적으로 접근하지 않고 텔레그램을 이용하여 서버의 상태를 볼 때 사용할 수 있을 거라 본다. 아래 그림은 웹버전의 텔레그램이다.




마치면서


 이번 포스팅에서 내 명령에 반응하는 간단한 텔레그램 봇을 만들어봤다. 생각보다 텔레그램이 가진 기능이 많아서 재밌는 것을 많이 할 수 있을 것 같다. 흥미진진하다. 또, 웹에서도 텔레그램 봇에 접근가능함을 보였다. 그러므로 웹이나 폰에서 텔레그램 봇에 명령을 전달하면 봇은 서버에 담긴 데이터들(사진, 메모 등)을 나에게 보낼 것이다. 물론 이에 대한 내용은 차근차근히 다음 포스팅에 담도록 하겠다..

관련 상품


라즈베리파이2 보드: 

http://www.icbanq.com/shop/product_detail.asp?prod_code=P005652343

라즈베리파이2 베이직 키트: 

http://www.icbanq.com/shop/product_detail.asp?prod_code=P005655515

손톱두이노: 

http://www.icbanq.com/shop/product_detail.asp?prod_code=P005668577

라즈베리파이 전용 방열판 (소): 

http://www.icbanq.com/shop/product_detail.asp?prod_code=P002110427





[본 컨텐츠는 ICbanQ (아이씨뱅큐)에서 진행하는 파워블로거 활동의 일환으로, 아이씨뱅큐의 지원을 받아 작성되었습니다]



  1. 2017.08.15 08:42

    비밀댓글입니다

+ Recent posts