일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- RDBMS
- 패캠
- java
- 남궁성
- 인프런
- 스프링의정석
- Spring
- 클린빌드
- 국비지원
- 쿼리
- mariadb
- 패스트캠퍼스
- 소셜로그인
- cleanbuild
- 자바기초
- 스프링
- devcamp
- 자바문제
- MySQL
- 오라클
- 기초쿼리
- SpringFramework
- 자바
- ApplicationContext
- 자바연습문제
- 자바의정석
- SQL
- oauth
- 불친절한SQL
- Oracle
- Today
- Total
Darren's Devlog
Python - Telegram 봇 연동하기 본문
네이버 블로그에서 티스토리로 이전하는 중입니다.
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의 값만 수정해주시면 메세지가 잘 전송되는 걸 확인할 수 있습니다.
'Python' 카테고리의 다른 글
Python - pywin32 활용하여 비활성 클릭 구현하기 ft.매크로 (0) | 2022.09.18 |
---|