편리한 python 생활을 위해 BOT을 만들기로 했습니다.
BOT(봇)이란 특정한 작업을 수행하기 위해서 만들어놓은 응용소프트웨어이며 채팅 프로그램을 통해 대화형으로 동작을 시킬수 있습니다.
오늘은 텔레그램에 대화방을 만들고 프로그램이 돌아가면서 텔레그램 대화방으로 환율정보를 가져오도록 하고자 합니다.
이후에는 모든 프로그램에 bot을 연동하여 필요한 정보를 실시간으로 가져올수 있도록 해볼 예정입니다.
텔레그램은 BOT을 생성/관리할수 있도록 API를 제공합니다.
https://core.telegram.org/bots/api
휴대폰을 가서 텔레그램을 설치하고 가입을 합니다.
가입이 완료되면 첫화면에 돋보기를 눌러 BotFather를 찾아봅니다.
하단의 시작을 누르면 BOT에 대한 설명이 나옵니다.
BotFather가 새로운 봇을 만드는 방법과 Bot을 설정하는 방법을 알려주십니다. ^__^*
/newbot으로 bot을 만들어 봅니다.
그럼 차례대로 2가지 질문을 받습니다.
1. BOT의 이름을 정하세요.
2. BOT의 USER NAME을 정하세요.(단, 마지막에 "BOT"으로 끝나야 합니다.)
두가지 이름을 입력하면 BOT 생성이 완료됩니다.
여기서 중요한 것은 BOT TOKEN입니다. 이 TOKEN은 꼭 따로 저장해 놓으세요.(저는 카톡에 따로 저장하겠습니다.)
위의 그림에서 붉은 상자안에 있는 링크를 클릭하면 대화방이 생성된 것을 볼수 있습니다.
여기서 꼭 시작을 먼저 눌러주세요. 그리고 아무 문자나 하나 먼저 보내보세요.(4글자 이상 추천)
이제 대화를 하기 위해서 chat_ID 값을 받아야 합니다.
아래 주소를 복사하고 [bot token]에 조금전 받은 주소를 입력하고 web browser에서 접속해 봅니다.
https://api.telegram.org/bot[토큰값]/getUpdates ex) https://api.telegram.org/bot55~~~tpk/getUpdate |
그러면 아래와 같이 값이 올라옵니다.
여기서 chat ID를 확인 합니다.
저는 5xxxxxx416번입니다.
이제 Python으로 와서 text를 보내는 코드를 추가 합니다.
파이썬에서 telegram bot을 사용하기 위해서는 python-telegram-bot 라이브러리를 설치하여야 합니다.
pip install python-telegram-bot |
https://python-telegram-bot.org/
import telegram
bot = telegram.Bot(token='[TOKEN값]')
chat_id = [CHAT_ID값]
bot.sendMessage(chat_id=chat_id, text="MESSAGE")
이로써! python으로 문자 메세지를 받을수 있는 준비가 완료되었습니다.
일정 시간 주기로 환율을 가져오는 동작도 테스트 해봤는데 정상적으로 잘 되는것을 확인하였습니다.
BOT을 이용하여 효율적인 작업에 도움이 되시길 바랍니다.
**** update
7.17 BOT을 하나 더 만들어봤는데 Chat_ID는 동일하게 나오네요.
BOT TOKEN만 잘 저장하시면 될것 같습니다.
**** update
23.01.27 이번에는 채널에 BOT을 연결하여 정해진 시간에 공지를 할수 있도록 만들었습니다.
채널에 봇을 연결하는 방법은 아래 링크를 참조하세요.
https://spica910.tistory.com/240
공지방으로 운영하는 채널은 IndexBriefing 입니다.
IndexBriefing 이 동작하는 모습이나 제공하는 정보에 관심이 있으시다면 채널 추가 해주세요.
indexbriefing 채널에 대한 설명 및 소통창구 입니다.
https://spica910.tistory.com/241
'Engineering > Python' 카테고리의 다른 글
[python] schedule 함수 사용하여 지정시간에 실행하기 (0) | 2022.12.11 |
---|---|
[python] 무료 서버 사용 (Feat. 구름 IDE 항상켜두기) (0) | 2022.07.17 |
[python] openpyxl을 이용한 Excel 제어 (0) | 2022.07.02 |
[python] 파이썬을 이용한 화면 글자 인식 pytesseract (0) | 2022.06.24 |
[Python] 크롤링을 위한 chrome driver 다운로드 (0) | 2022.05.21 |
댓글