강좌/RaspberryPI 활용

라즈베리파이 Telegram BOT 만들기 1부 - Telegram cli 설치

acidpop 2015. 7. 15. 10:26
반응형

텔레그램 메신저는 프로토콜이 공개 되어 있는 메신저이다.

 

이로 인해 전세계 수많은 사람들이 각각 자신만의 방식으로 메신저를 만들수 있는 구조이다.

 

여기서는 https://github.com/vysheng/tg 이 github 에서 제공 되는 Telegram CLI 를 가지고 설치를 할 것이다.

 

 

필자는 라즈베리파이2 에 raspbian OS 를 기준으로 설명한다.

 

 

 

라즈베리파이에 Telegram CLI 설치하기

 

 

1. pi 계정 디렉토리로 이동

cd /home/pi

 

2. apt-get 패키지 업데이트

sudo apt-get update

 

3. Telegram CLI 에서 사용하는 필수 라이브러리 설치

sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev make git-core python2.7-dev libjansson-dev sqlite3 lua5.2-socket

 

sqlite3 는 bot 을 만들때 사용할 DB 도구이다.

 

4. Telegram CLI Source 다운로드

git clone --recursive https://github.com/vysheng/tg.git && cd tg

 

5. Makefile 생성하기.

./configure

 

6. Source 빌드 하기

make 

 

컴파일 시간이 꽤 오래 걸린다.

 

 

컴파일이 완료 되면 다음과 같이 실행해보자.

 

 

bin/telegram-cli -k server.pub

 

Telegram CLI 를 처음 실행 하고 조금 기다리다 보면 다음과 같은 메시지를 볼 수 있다.

 

phone number: +821012341234               <-- 만약 010-1234-1234 라면 +821012341234  라고 입력한다.

code :              <-- 위 핸드폰 번호를 제대로 입력 했다면 해당 번호로 SMS 메시지가 오거나 이미 텔레그램을 사용중이라면 해당 번호로 사용중인 텔레그램 앱으로 인증 코드가 전송되는데 그 코드 값을 입력하면 된다.

 

 

팁 : 필자는 KT 폰을 사용중인데 KT 부가서비스 중에 투넘버 서비스가 있다. 핸드폰 하나에 번호를 하나 더 부여 받을 수 있는 기능인데... 유료다.

무려 월3000원이나 하는 비싼 서비스이다.

 

하지만 부가서비스를 신청 하고 Telegram 만 인증을 한 다음 그 다음날 부가서비스를 해지했더니 100원 정도가 추가되는걸 확인했다.

100원으로 Telegram 계정을 하나 더 만들어서 사용하자.

단점 : 부여 받은 전화번호는 부가 서비스를 해제하면서 다른 사용자가 가져 갈 수도 있는 번호이니 왠만하면 텔레그램을 안쓰는 사람의 번호를 이용하는게 좋을듯 하다.

최근, NextPlus 라는 앱을 이용해서 무료 SMS 번호를 하나 생성하고 그 번호로 텔레그램 인증을 받으니 잘 됩니다.

투넘버 서비스보다는 위 앱을 이용해서 가상 번호 하나 만들어서 쓰시는게 좋을듯 합니다.

 

자세한 사용 방법은 TextPlus 나 NextPlus 로 검색해보시면 많이 나오더군요 ^^

 

 

텔레그램 CLI 가 실행 되면

>  이 기호가 보일것이다.

 

여기서 help 라고 명령을 치면 Telegram CLI 에서 사용 할 수 있는 명령어 목록들이 보인다.

 

 

※ 텔레그램이 한번 인증 되었다면 인증 파일이 생성이 되는데 그 경로는 다음과 같다.

 

/home/pi/.telegram-cli

 

 

여기서 .telegram-cli 이 디렉토리만 백업해서 가지고 있으면 라즈베리파이를 포멧했다가 다시 설치 해도

 

.telegram-cli 만 복구 해주면 인증하지 않아도 그전에 인증한데로 작동한다.

 

인증 과정이 귀찮으신 분들은 이 디렉토리를 백업해두자.

 

cd /home/pi

tar cvfz tgauth.tgz ./.telegram-cli

 

tgauth.tgz 파일을 안전한곳에 보관한다.

 

 

 

 

다음 2부에서는 기본적인 메시지 전송과 활용 방법, BOT 의 기초를 만들어 보는 강좌를 공개합니다.

 

 

 

필자가 활용 중인 BOT

 

1. 동네 예보 조회

 

 

 

 

2. 간단한 사전 기능 

 

 

 

3. 사진 촬영 후 전송 , 토렌트 검색 및 토렌트 다운로드

 

 

 

4. 라즈베리파이 시스템 체크 기능

 

 

 

 

간략하게나마 위와 같은 기능들을 개발해서 사용중이며 강좌를 통해 공개 예정입니다.

 

이외에도 자신의 XE 게시판에 글이 등록되면 알림을 보내는 기능, Torrent 다운로드 완료 알림 등등 알림 메시지로도 사용중에 있습니다.

 

 

 

관련글