[작업 순서]
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('성공')