카테고리 없음

텔레그램 API 사용하여 메시지 보내기

Jack Moon 2022. 9. 28. 14:29

[작업 순서]

1단계: bot 을 만들고 API Token 을 생성한다.

2단계: 채널을 생성하고 1단계에서 만든 bot과 사용자를 추가한다. 이때 bot에게 관리자 권한을 줄지 물어보면 OK.

3단계: 채널(채팅방)의 ID를 얻는다.

4단계: API Token 과 채팅방 ID를 사용하여 자동으로 글을 올린다.

따라서, 하나의 bot을 생성하면 여러개의 채팅방에 글을 올릴 수 있다.

 

 

1. BotFather 를 검색하여 대화방을 열고 API Token을 얻는다.

/start 입력

 

/newbot 입력

bot 이름 입력 (한글 상관 없음)

bot ID 입력

2. 그룹이나 채널에서 생성된 bot 을 검색하여 초대하면 된다. 단, 채널의 경우 관리자 권한이 있어야 메시지 발송이 되므로 관리자로 권한을 변경해 준다.

 

3. 채팅방 ID 찾기

bot 이 초대된 채팅방에서 메시지를 던져본다. 가급적 영문으로 던지자. 그래야 인코딩 문자열로 나타나지 않아 찾기가 쉽다.

브라우저에서 https://api.telegram.org/bot[API_Token]/getUpdates 던져보자.

 

hello world 문장이 있는 열의 "chat": {"id": **********} 이 부분이 채팅방 ID 이다.

 

4. Python 코드

# pip install python-telegram-bot
# pip install asyncio

import asyncio
from telegram import Bot

# 봇의 API 토큰 입력
TOKEN = '79***************************EC9IGgU'

# 메시지를 보낼 채팅 ID
CHAT_ID = '-10***********5'  

bot = Bot(token=TOKEN)
await bot.send_message(chat_id=CHAT_ID, text='첫번째 메시지 입니다.')

print('성공')