Telegram Bot2017. 6. 25. 16:52

이번에 다룰 내용은 Telegram을 이용한 Bot 만들기이다.

필자는 python을 이용해 트위터의 특정 계정의 최신 트윗 내용을 보내주는 봇을 만든다.


Telegram에서는 이용자들이 쉽게 Bot을 만들어 사용할 수 있도록 API를 제공하고 있다.

봇과 관련된 API 문서는 여기에서 볼 수 있다.


우선, 텔레그램 봇을 이용하기 위해서는 텔레그램에 BotFather를 추가해야 한다.

BotFather는 텔레그램 봇을 관리하는 관리자같은 거라고 생각하면 이해하기 쉽다.


텔레그램 친구목록에서 @BotFather를 검색해 친구추가한다.

[ 그림 1 ] 텔레그램 친구 목록에서 @BotFather를 검색한 화면

[ 그림 2 ] BotFather 를 클릭하면 나타나는 화면


[ 그림 2 ] 에서 Start를 눌러 활성화 한다.

[ 그림 3 ] BotFather 활성화한 화면


BotFather를 활성화하면 어떤 명령어들을 사용할 수 있는지 보여준다.

봇을 만들어야 하기 때문에 /newbot 명령어를 이용한다.

[ 그림 4 ] /newbot 명령어 입력시 화면


봇의 이름을 정하라고 한다.

필자는 Tweet_Bot 으로 봇 이름을 설정한다.

[ 그림 5 ] 봇 이름 설정


봇의 username을 설정하라고 한다. username은 반드시 'bot'으로 끝나야 한다고 한다.

Tweet_Test_Bot으로 한다.

* Tweet_Bot으로 설정하려고 했지만 이미 사용중이라 하기 때문에 다른 이름을 사용했다.


[ 그림 6 ] 봇의 username을 설정한 화면


봇의 username을 설정하면 [ 그림 6 ] 과같은 화면을 볼 수 있다.

API 값을 따로 적어두도록 하자.

그 다음 Tweet_Test_Bot 링크가 걸려있는데 이 링크를 클릭해 방금 만든 봇을 활성화 하자.

[ 그림 7 ] Tweet_Bot 활성화


Tweet_Bot을 활성화 한 화면이다.

아직 봇만 활성화 시켰기 때문에 아무 동작도 하지 않는다.

봇이 동작하도록 하기 위해서는 Bot의 Chat-id 를 알아야 한다.

Chat-id를 알아내기 위해 다음 URL을 참고해서 들어가자.

https://api.telegram.org/bot[API값]/getUpdates


BotFather한테 받은 API 값을 [API값] 부분에 넣어주면 된다.

* 대괄호는 넣지 않도록 한다.


[ 그림 8 ] Tweet_Bot의 getUpdates 화면


[ 그림 8 ] 과 같이 ok 부분이 true로 되어 있어야 한다. 만약 false로 나타나면 API 값이 틀렸을 확률이 높다.

chat-id가 나타나지 않는다. 이는 Tweet_Bot 채팅방에 아무 입력이 없었기 때문이다.

Tweet_Bot 채팅방에 아무 말이나 입력하자.


[ 그림 9 ] Tweet_Bot 채팅방에 '헤헤헤헷'을 입력한 후의 getUpdates 화면


Tweet_Bot 채팅방에 아무 말이나 입력한 뒤 getUpdates 화면을 새로고침하면 [ 그림 9 ] 와 같은 화면을 볼 수 있다. 여기서 id 값을 따로 적어놓도록 하자.


지금까지 Telegram 봇 만들기를 했다.

다음에는 twitter API 설정 및 tweepy를 설치하도록 하자.

Posted by Imp3rio