Darren's Devlog

Python - Telegram 봇 연동하기 본문

Python

Python - Telegram 봇 연동하기

Darren Gwon 2022. 9. 19. 12:30
반응형

 

네이버 블로그에서 티스토리로 이전하는 중입니다.

https://blog.naver.com/darren_gwon/222638695987

 

 

안녕하세요. 이번에는 Python을 통해 Telegram 봇을 연동하는 방법을 포스팅해보겠습니다.

요즘 열심히 스프링 공부를 하다 조금 쉬어는 타임으로 파이썬 입문 겸 동시에 매크로를 제작중입니다.

파이썬에는 편리한 API가 많이 때문에 혹시나? 하는 마음으로 찾은 걸 다른 분들에게도 공유해보려 합니다!

 

물론 JAVA에서도 가능하지만 매크로를 파이썬으로 제작 중이라 파이썬으로 설명을 하겠습니다.


1. 먼저 웹버전, PC버전, 모바일 버전 중

아무 방법을 통해 텔레그램에 로그인해주세요.

 

2. 검색창에 BotFather을 검색합니다.

여러 계정이 나올텐데 공식인증 마크를 잘 확인해주세요.

 

3. 제대로 된 계정은 이런 메세지가 나옵니다.

START 버튼을 클릭해주세요.

 

4. 명령어 /newbot 을 전송해줍니다. Bot 생성 과정이 시작이 됩니다.

제일 먼저, 원하시는 Bot의 이름을 정해주세요. (중복 허용)

그 다음 Bot의 username을 지정해주세요. 꼭 bot으로 끝나야합니다. (중복X)

Bot 생성이 끝나면 위에 가려놓은 부분에 token key가 주어집니다.

 

5. 자신의 Bot의 username을 검색하여 알맞은 Bot을 찾아줍니다.

먼저 아무 메세지나 전송해주어야 합니다.

메세지를 전송하는 이유는 Bot과 소통 할 본래 본인 텔레그램 계정의 ChatID를 받아와야하기 때문입니다.


pip install python-telegram-bot
 

텔레그램 봇 API를 먼저 설치하고 나머지를 진행하겠습니다.


6. 이제 본인 텔레그램 계정과 소통할 수 있는 ChatID를 받아오겠습니다.

방법은 아래 두 가지가 있는데요.

 

-첫 번째 방법

https://api.telegram.org/bot+(발급받은 토큰 키)/getUpdates
 

가장 간편합니다.

Bot에다 메세지를 보낸 후 위에 링크로 가시면 아래와 같은 코드가 나올 겁니다.

그 중에서 id에 해당하는 50######84 같은 형식의 값을 복사 해 놓으시면 됩니다.

 

-두 번째 방법

import telegram

bot_token = "TOKEN KEY"
chat = telegram.Bot(token = bot_token)
updates = chat.getUpdates()
for u in updates:
    print(str(u.message['chat']['id']) +": " + u.message['text'])
 

파이썬을 코드를 이용한 방법입니다. 복붙하시고 실행하시면 다음과 같은 결과가 나올겁니다.

앞 쪽 번호들이 본인의 ChatID입니다.

>> 50######84: 텔레그램 봇 테스트

 

7. 이제 본인 텔레그램 계정으로 메세지를 전송해보겠습니다.

import telegram

bot_token = "51############################################DFs"
chat_id= "50######84"

text = 'Bot에서 보낸 메세지입니다.'

bot = telegram.Bot(token = bot_token)
bot.sendMessage(chat_id=chat_id, text=text)
 

bot_token과 chat_id의 값만 수정해주시면 메세지가 잘 전송되는 걸 확인할 수 있습니다.

 

반응형
Comments