이 문서는 2024년 4월 27일에 작성되었습니다.
목표
Python을 이용하여 Telegram에서 메세지를 보내고 수정하는 방법에 대해 알아보겠습니다. 이를 위해 requests 라이브러리와 Telegram API를 사용합니다.
목차
- requests 라이브러리 설치
- sendMessage 함수 사용
- editMessageText 함수 사용
- Python으로 Telegram 메세지 전송, 수정 전체 소스
상세
1. requests 라이브러리 설치: 이 라이브러리는 Python에서 HTTP 요청을 처리하는데 필요합니다. 이를 설치하려면 터미널에서 pip install requests 명령을 실행해주세요.
pip install requests
2. sendMessage 함수 : 이 함수는 Telegram API의 일부로, 메세지를 보내는 역할을 합니다. token, chat_id, 그리고 text를 인자로 받아 작동합니다.
- token : 봇의 키정보
- chat_id : 메세지를 보낼 상대의 ID 정보
- text : 상대에게 보낼 메세지
# 기본 텔레그램 API호출 URL 변환
def get_default_telegram_api_url(token) -> str:
return f'https://api.telegram.org/bot{token}/'
# 메세지 전송 함수
def send_message(token, chat_id, text):
url = get_default_telegram_api_url(token) + 'sendMessage'
data = {'chat_id': chat_id, 'text': text}
return requests.post(url, data=data)
3. editMessageText 함수 : 이 함수 역시 Telegram API의 일부로, 보낸 메세지를 수정하는 역할을 합니다. token, chat_id, text, 그리고 message_id를 인자로 받아 작동합니다.
- token : 봇의 키정보
- chat_id : 메세지를 보낼 상대의 ID 정보
- text : 변경할 텍스트 정보
- message_id : sendMessage로 보낸 후 결과를 받은 정보 중 메세지 아이디
# 기본 텔레그램 API호출 URL 변환
def get_default_telegram_api_url(token) -> str:
return f'https://api.telegram.org/bot{token}/'
# 메세지 수정 함수
def edit_message_text(token, message_id, chat_id, text):
url = get_default_telegram_api_url(token) + 'editMessageText'
data = {'chat_id': chat_id, 'text': text, 'message_id': message_id}
return requests.post(url, data=data)
4. Python으로 Telegram 메세지 전송, 수정 전체 소스
import time
import requests
def get_default_telegram_api_url(token) -> str:
return f'https://api.telegram.org/bot{token}/'
# 메세지 전송 함수
def send_message(token, chat_id, text):
url = get_default_telegram_api_url(token) + 'sendMessage'
data = {'chat_id': chat_id, 'text': text}
return requests.post(url, data=data)
# 메세지 수정 함수
def edit_message_text(token, message_id, chat_id, text):
url = get_default_telegram_api_url(token) + 'editMessageText'
data = {'chat_id': chat_id, 'text': text, 'message_id': message_id}
return requests.post(url, data=data)
token = 'YOUR_BOT_TOKEN'
chat_id = 'YOUR_CHAT_ID'
response = send_message(token, chat_id, 'Hello, Telegram!')
json = response.json()
print(f"메세지 전송 결과 \n{json}")
if json['ok'] is True:
result = json['result']
# 5초후 메세지 수정
time.sleep(5)
response = edit_message_text(token, result['message_id'], chat_id, "보낸 메세지 수정")
else:
print("메세지 전송을 실패하였습니다.")
결과 화면
실행후

실행후 5초뒤

결론
Python을 이용하여 Telegram에서 메세지를 보내고 수정하는 방법을 알아보았습니다. 이 방법을 통해 Telegram 메세지를 보내고 수정하는 다양한 스크립트를 만들 수 있습니다. Telegram API는 이 외에도 다양한 기능을 제공하므로, 여러분도 한번 시도해 보시기 바랍니다.
'앱 > telegram' 카테고리의 다른 글
[python - requests]gTTS를 이용한 문장 오디오 파일 변환 (0) | 2024.04.25 |
---|---|
[python - requests] 텔레그램 채팅 상대 ID 및 메세지 알아내기 (0) | 2024.04.21 |
[python - requests]텔레그램 메시지 발송 방법 (0) | 2024.04.20 |
[telegram] BotFather를 이용한 텔레그램 봇 생성 가이드 (0) | 2024.04.19 |