배치 프로그램이나 실시간으로 운영중인 시스템에 문제가 생겼을 때 바로 알아차릴 수 있도록 텔레그램으로 관제 메시지를 전송할 수 있다.
1. 봇 생성하기
봇은 BotFather
라는 채널에서 생성할 수 있다. 검색창에서 BotFather
를 검색한 후 채널에 들어간다.
/newbot
를 보내면 봇 생성을 위한 몇 가지를 물어본다.
봇 이름 정하기
봇 username 정하기
’bot’으로 끝나야한다.
봇 토큰 얻기
▶ 봇 토큰: 5650XXX
자 이제 봇의 토큰을 얻었다. elsboo_bot은 이 토큰을 통해 메시지를 송신할 수 있다.
2. 채널 생성 후 봇 추가하기
봇이 활동할 채널(=채팅방)을 생성하고 봇을 관리자로 추가한다.
채널 생성
햄버거 메뉴 > New Channel 클릭
채널명 입력
채널 공개/비공개 선택
봇을 관리자로 임명하기
Manage Channel 메뉴 선택
Administrators 선택
아까 생성한 elsboo_bot 검색 후 추가
3. 채팅방ID 얻기
봇이 채널에 메시지를 전송하기 위해선 채널ID를 알아야 한다.
먼저 채널에 아무 메시지나 보내고, /getUpdates
를 통해 채널 정보를 얻어오면 채널 ID를 알 수 있다.
https://api.telegram.org/bot{봇ID}/getUpdates
요청 GET https://api.telegram.org/bot5650XXXXXX/getUpdates
응답
{
"ok": true,
"result": []
}
처음에는 아무 메시지도 없으므로 result 가 빈 값이다.
아무 메시지나 채널에 보낸 후 위 URL을 다시 호출해보면,
채널 ID를 얻을 수 있다.
▶ 채널 ID: -1001XXX
4. 메시지 전송 API 호출하기
“봇(봇토큰)이 채팅방(chat_id)에게 메시지를 보내주는 구조”
https://api.telegram.org/bot{봇ID}/sendMessage
POST https://api.telegram.org/bot5650XXX/sendMessage
{
"chat_id": "-1001XXX",
"text": "I am bot"
}
URL 파라미터에는 봇ID를, body에는 채널ID와 보낼 메시지를 넣어주면 텔레그램 채널에 다음과 같이 봇이 메시지를 전송한 것을 볼 수 있다.
레퍼런스
https://toma0912.tistory.com/97
https://core.telegram.org/bots/api
글 읽어주셔서 언제나 감사합니다. 좋은 피드백, 개선 피드백 너무나도 환영합니다.
텔레그램 봇으로 메시지 전송 API 호출하기
'SearchDeveloper > 기타' 카테고리의 다른 글
우아콘 2023 리뷰 및 후기 (1) | 2023.11.15 |
---|---|
Azure OpenAI 사용법 튜토리얼 (0) | 2023.07.01 |
Kafka-ui 설치하기 (Docker 말고) (0) | 2023.02.24 |