프로그램/python

[python] 텔레그램에 메세지 및 사진 보내기

더월드 2022. 4. 26.

텔레그램 봇 준비하기

 

1. BotFather를 검색하고, 선택하여 방에 들어갑니다.

 

 

2. "/newbot"을 입력하면 bot 이름을 입력하라고 나옵니다.

3. 'Bot'으로 끝나거나 '_bot'으로 끝나는 봇 이름을 입력하세요.

-발급된 HTTP API 키를 복사합니다.

파이썬 텔레그램 방 ID 구하기

1. telegram 라이브러리를 추가합니다.

-'pip install telegram' 명령어를 사용하여 라이브러리를 추가합니다.

 

2. telegram id 을 가져옵니다.

-우선 생성한 봇 방에서 시작 버튼을 누릅니다.

-id 값을 가져오기 위해서는 메시지를 몇 개 작성합니다.

-그리고 아래와 같은 코드를 이용하여 'id'값을 가져옵니다.

import telegram

chat_token = "5305-----------------UFN3ri5x2DCAhoHCsbE"

#--------------------------
# telegram id check
#--------------------------
def id_check():
	chat = telegram.Bot(token = chat_token)
	updates = chat.getUpdates()
	for u in updates:
		print(u.message['chat']['id'])
		#print(u.message)

#--------------------------
# Main
#--------------------------
if __name__ == "__main__":
    id_check()

 

3. 위 파이썬 코드 실행 결과

- 결과 값이 나오지 않아도 당황하지 마시고, 텔레그램 생성한 봇방에 메세지를 몇 번 입력하면서 실행하면 원하는 id값을 획득할 수 있습니다.

 

생성한 봇방에 메세지 입력
봇방 id 값 획득

파이썬 메세지 보내기

1. 텔레그램 메시지 보내기 파이썬 코드

- 알고 있는 텔레그램 토큰값과, id를 이용하여 이제 메시지를 보낼 수 있습니다.

- bot.sendMessage(chat_id = 'id', text='보낼 메시지') 형태를 사용하면 됩니다.

- 코드는 아래와 같이 간단합니다.

import telegram

#텔레그램 토큰
chat_token = "530595497---------DCAhoHCsbE"
#텔레그램 id
bot_id='95500033'

#--------------------------
# 메세지 보내기
#--------------------------
def send_msg():
	bot = telegram.Bot(token = chat_token)
	text = '파이썬으로 보낸 메시지: 안녕하세요'
	bot.sendMessage(chat_id = bot_id, text=text)

#--------------------------
# Main
#--------------------------
if __name__ == "__main__":
    send_msg()

 

2. 파이썬으로 텔레그램 메시지 보내기 결과

- 위 파이썬 코드를 실행하면 아래 그림처럼 보낸 '파이썬으로 보낸 메시지:안녕하세요'가 정상적으로 텔레그램 봇방에 들어온것을 확인할 수 있습니다.

파이썬 사진 & 메시지 보내기

1. 파이썬으로 텔레그램 사진 보내기 코드

- 이번에는 메세지와 사진 파일을 같이 보내 볼께요.

- bot.send_photo(chat_id = 'id', photo=open("사진파일", 'rb')) 형태를 사용하면 됩니다.

- 전체 코드는 아래와 같습니다.

import telegram

# 봇 토큰
chat_token = "530595-----------CAhoHCsbE"
# 봇 id
bot_id='955-----33'

#--------------------------
# 메세지 보내기
#--------------------------
def send_msg(text):
	bot = telegram.Bot(token = chat_token)
	bot.sendMessage(chat_id = bot_id, text=text)

#--------------------------
# 사진 보내기
#--------------------------
def send_img(send_image):
	bot = telegram.Bot(token = chat_token)
	bot.send_photo(chat_id = bot_id, photo=open(send_image, 'rb'))

#--------------------------
# Main
#--------------------------
if __name__ == "__main__":
	send_msg('이번에는 그림파일을 보내볼께요^^')
	send_img('E:\\Work\\test_image.jpg')

2. 파이썬으로 텔레그램 사진 보내기 실행 결과

- 코드 실행 결과 입니다. 봇방에서 보니 정상적으로 메시지와 사진파일이 전송됨을 확인할 수 있습니다. ^^

 

댓글

💲 추천 글