IT 정보

Python 3.11 Telegram Bot 사용법 send_message

내행복 2023. 8. 15. 22:59

 

파이썬과 텔레그램 관련 내용

Python 3.11 Telegram Bot 사용법 send_message

 

구글에 검색했을 때 내 글이 잘 노출될 수 있도록, 반복적으로 단어들이 강조되었으면 좋겠다.

SSD에 문제가 생기고 포맷 이후 파이썬을 재설치하니깐 파이썬 버전은 3.11 최신 버전을 설치했다.

파이썬은 버전 별 라이브러리 영향을 많이 받는 것으로 알고 있다.

텔레그램 또한 API가 업그레이드되면서 코드가 변경되었다.

파이썬 3.10에서도 잘 되는 걸 보면 텔레그램 API 변경에 따른 라이브러리 변경으로 어려움이 발생한 듯하다.

대부분 파이썬-텔레그램 라이브러리로 Python-Telegram-Bot을 사용한다.

나 또한 변경된 라이브러리가 익숙치 않아 구글링을 했으나 대부분 비동기식 Bot을 통한 메시지 전달 매개체로 사용되었다.

기존에는 Send Message 명령어를 통해서 코드 상 내가 원할 때 전송했으나 이제는 코드가 변경되어야 한다.

아래 코드는 내가 쓰는 코드다.


bot1 = <나의 토큰 값>
bot2 = <나의 토큰 값>

def send_message(token, chat_id, text):
    URL = "https://api.telegram.org/bot" + str(token) + "/sendMessage"
    data = {
        "chat_id": chat_id,
        "text": text,
    }
    response = requests.post(URL, data=data)

위와 같이 bot 변수를 통해서 여러 개의 토큰을 할당했다.

내가 호출하고자 하는 곳에 아래와 같이 호출하면 된다.


send_message(bot1, <채팅방 id>, <문구>)

과거에는 bot.send_message라는 명령어를 통해서 쉽게 진행했지만 이제는 API URL을 호출해서 관리해야 한다.

이 방법이 더 명확하다.

import requests 라이브러리는 필수로 추가해야 한다.