-
[TelegramBot] 봇 생성과 메시지전송Python/텔레그램봇:채권모니터링 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="데이터")
'Python > 텔레그램봇:채권모니터링' 카테고리의 다른 글
[스케쥴링] 특정 시간에 실행하기 - 휴장일 커버 (0) 2020.12.21 [python] 모듈 정리하기 (0) 2020.12.18 [python f'{formating}'] 봇 메시지 포맷팅 (0) 2020.12.16 [Pandas] 데이터 정리 (2) 필터링(query) 및 정렬 (0) 2020.12.15 [Pandas] 데이터 정리 (1) read_csv(na_values) & apply (0) 2020.12.15