본문 바로가기

언어/python(파이썬)

[python - requests] 텔레그램 API를 이용한 이미지 파일 업로드

목표: 텔레그램 API를 이용한 이미지 파일 업로드

파이썬 3.10 버전과 requests 라이브러리를 사용하여 텔레그램 API를 통해 이미지 파일을 업로드하는 방법을 알아보겠습니다.

필요한 준비물

  • Python 버전: 3.10
  • 필요한 라이브러리: requests

구현 단계

  1. 필요한 라이브러리 설치: pip install requests
  2. 텔레그램 봇 생성
  3. Python과 requests 라이브러리를 이용한 HTTP 요청
  4. 이미지 파일 업로드

필요한 라이브러리 설치

먼저 필요한 requests 라이브러리를 설치해야 합니다. 아래의 pip 명령어를 사용하면 됩니다.

pip install requests

 

텔레그램 봇 생성

텔레그램의 BotFather를 통해 봇을 생성해야 합니다. BotFather는 텔레그램에서 제공하는 봇 생성 서비스로, 이를 통해 새 봇을 생성하고 관리할 수 있습니다. 봇을 생성하면 API 토큰을 받게 되며, 이 토큰은 이미지 파일을 업로드하는 데 사용됩니다.

 

Python과 requests 라이브러리를 이용한 HTTP 요청 보내기

Python의 requests 라이브러리를 사용하여 텔레그램 서버에 HTTP 요청을 보내야 합니다. 이 요청은 텔레그램 서버에 이미지 파일을 업로드하는 데 사용됩니다.

아래는 해당 과정을 구현한 파이썬 코드입니다:

import requests

api_host = 'https://api.telegram.org'

def upload_image(token, chat_id, photo):
    url = f"{api_host}/bot{token}/sendPhoto"
    data = {"chat_id": chat_id}
    with open(photo, "rb") as image_file:
        response = requests.post(url, data=data, files={"photo": image_file})
    return response.json()

upload_image('telebot_key', 'tele_my_id', "./img.png")

위 코드에서는 텔레그램 API의 'sendPhoto' 메소드를 호출하여 이미지 파일을 업로드합니다.

파라미터 설명:

  • 'token' : 봇의 API 토큰
  • 'chat_id' : 이미지를 업로드할 채팅의 ID
  • 'photo' : 업로드할 이미지 파일의 경로

이제 텔레그램 API를 통해 이미지 파일을 업로드하는 방법을 알게 되었습니다. 이 방법은 다양한 이미지 파일을 텔레그램 채팅에 업로드하는 데 활용할 수 있습니다.