Python/텔레그램봇:채권모니터링

[TelegramBot] 봇 생성과 메시지전송

hayjo 2020. 12. 18. 19:08

python-telegram-bot 패키지의 telegram.Bot.sendMessage(chat_id, text)로 데이터를 전송한다.


 

생성 및 작동 확인

기존 텔레그램 계정에서 @botfather를 친구 추가하고 /newbot을 입력하면, 이름을 뭘로 할 거냐고 물어본다.

Bot이나  _bot처럼 이름 끝을 bot으로 해서 대답하면 축하한다면서 봇 토큰을 준다.

 

봇 토큰은 나중에 @botfather에서 /mybots -> 해당 봇 선택 -> API Token에서 확인할 수 있다.

혹시라도 노출되었다면 Revoke current token으로 갱신하면 된다.

 

 

기존 계정에서 방금 만든 봇을 친구 추가하고, 시작을 누르면 /start 메시지가 전송된다.

아래 url로 들어가면 방금 메시지를 보낸 유저 정보가 json 객체 형태로 전달된다.

https://api.telegram.org/bot봇토큰/getUpdates

['message']['chat'][id'] 정보에서 내 계정의 채팅 아이디를 확인하고, 확인차 메시지를 보내본다.

https://api.telegram.org/bot봇토큰/sendMessage?chat_id=채팅아이디&text=안녕하세요.

계정으로 정상적으로 메시지를 받았다.

한글로도 쏴본 결과 정상 전송된다. 퍼센트인코딩은 따로 안 해주어도 되는 듯하다.

 

 

메시지 전송

이제 본격적인 메시지를 보내보자. 위의 url로 requests.get 요청을 보내도 되지만,

파이썬에는 python-telegram-bot이라는 훌륭한 패키지가 있다. pip으로 설치할 수 있다.

개발문서는 이쪽에서 확인할 수 있다. python-telegram-bot.readthedocs.io/en/stable/

 

import telegram

bot_token = 'token' # bot은 빼고 입력해야된다.
bot = telegram.Bot(bot_token) # Bot 대문자임에 주의
chat_id = '00000000'

bot.sendMessage(chat_id, text="데이터")