[과제 알림이] telegram API

overwell24·2024년 3월 6일

과제 알림이

목록 보기
2/6
post-thumbnail

텔레그램 API 사용법

1. 봇 생성: BotFather 검색 후 봇 생성

2. 봇 등록: 그룹 or 채널 생성 후 만든 bot 초대해서 admin 등록

3. chat_id 얻기: (봇 생성때 얻은 토큰)

토큰 패턴 <xxx:yyy>
https://api.telegram.org/bot{{token}}/getUpdates

4. 테스트

import requests

# 메시지 보내기
API_TOKEN = "YOUR_BOT_TOKEN_HERE"
chat_id = "YOUR_CHAT_ID_HERE"

# 텔레그램 API URL
send_message_url = f"https://api.telegram.org/bot{API_TOKEN}/sendMessage"
# 메시지 파라미터
message_params = {
    'chat_id': chat_id,
    'text': '안녕하세요! 이것은 텔레그램 봇 메시지입니다.',
}

# 메시지 전송
response = requests.get(send_message_url, params=message_params)
# 응답 확인
if response.status_code == 200:
    print("메시지가 성공적으로 전송되었습니다.")
else:
    print("메시지 전송 실패:", response.text)

텔레그램 API 연동

민감한 토큰 정보를 config.py로 분리하여 모듈화 했다.
telegram API 연동 부분을 telegram_bot.py으로 분리하여 모듈화했다.

config.py

# config.py

# 텔레그램 API
class TelegramConfig:
    API_TOKEN = ""
    CHAT_ID = "-"

# 로그인 정보
class TodoConfig:
    user_id = ""
    user_pw = ""

telegram_bot.py

# telegram_bot.py

import requests
from config import TelegramConfig


class TelegramBot:
    def __init__(self):
        self.api_token = TelegramConfig.API_TOKEN
        self.chat_id = TelegramConfig.CHAT_ID

    def send_telegram_message(self, text):
        url = f"https://api.telegram.org/bot{self.api_token}/sendMessage"
        print(url)
        params = {
            'chat_id': self.chat_id,
            'text': text,
        }
        response = requests.get(url, params=params)
        return response.json()

0개의 댓글