안녕하세요 성민석입니다.
트레이딩을 하다보면 주로 텔레그램(Telegram) API을 이용하여 로그 메세지를 간단하게 보내곤 합니다.
근데 매번 python-telegram-bot 을 이용해서 사용하다가 이번 20버전부터는 비동기식으로 바뀌어서 (물론 13버전 쓰면 괜찮) 간략하게 requests 라이브러리 이용해서 텍스트와 이미지 전송하는 코드를 첨부해보겠습니다.
https://pypi.org/project/python-telegram-bot/
텍스트를 보내는 함수
def send_telegram_text(text, bot_token, chat_id):
"""Telegram을 통해 메시지를 보내는 함수"""
url = f"https://api.telegram.org/bot{bot_token}/sendMessage"
data = {
"chat_id": chat_id,
"text": text
}
response = requests.post(url, data=data)
return response.json()
이미지를 보내는 함수
def send_telegram_image(photo_path, bot_token, chat_id):
"""Telegram을 통해 사진을 보내는 함수"""
url = f"https://api.telegram.org/bot{bot_token}/sendPhoto"
data = {
"chat_id": chat_id
}
with open(photo_path, 'rb') as photo:
files = {
"photo": photo
}
response = requests.post(url, data=data, files=files)
return response.json()
위 두 함수를 이용하면 굳이 번거롭게 라이브러리 설치하지 않고 가볍고 간단하게 사용할 수 있습니다. 다만 텔레그램 서버로부터 연결이 끊기는 ConnectionError 같은 부분은 직접 수고스럽게 예외처리 좀 하면 됩니다.
P.S) 또한 제일 귀찮은게 저 chat_id를 알아내는건데 그건 아래 링크에 본인의 토큰을 입력해서 확인하면 됩니다. 일반적으로 593161392를 이용하면 본인이 생성한 봇의 채팅방 아이디일 확률이 높습니다.아래 괄호 지우고 본인 봇의 토큰을 입력하면 확인 가능합니다.
https://api.telegram.org/bot{본인의토큰}/getUpdates
728x90
반응형
'개발' 카테고리의 다른 글
[개발] Windows10 배치파일 이용하여 Python 실행하기 (0) | 2024.03.18 |
---|---|
[정보] ChatGPT에서 채팅 안 보내지는 에러 고치기 (2024.03.11기준) (0) | 2024.03.11 |
[개발] ChatGPT API를 활용한 가장 간단한 Python 예제 코드 (0) | 2023.07.20 |
[개발] 외부 원격 접속을 위한 Jupyter Notebook Server 띄우기 (0) | 2023.07.16 |
[개발] Windows 10에서 작업 스케줄러 사용하여 배치파일 실행시키기 (0) | 2021.10.13 |