본문 바로가기

SearchDeveloper/기타

텔레그램 봇으로 메시지 전송 API 호출하기

배치 프로그램이나 실시간으로 운영중인 시스템에 문제가 생겼을 때 바로 알아차릴 수 있도록 텔레그램으로 관제 메시지를 전송할 수 있다.

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