본문 바로가기

Ops/Telegram

텔레그램 알람 봇 (telegram alert bot) 만들기

반응형

How to create telegram bot for alert

 

 

 

■ Bot 생성

텔레그램에서 ‘BotFather’를 검색합니다. 제일 상단에 검색되는 봇을 선택하면 됩니다.

오타에 주의하세요.

비슷한 이름의 봇이 상당히 많기 때문에 잘못 선택하면 제대로 진행이 되지 않습니다.

 

 

BotFather를 선택하면 대화창 하단에 ‘시작’ 이라는 버튼을 확인할 수 있습니다. 해당 버튼을 눌러서 대화를 시작하면 됩니다.

 

 

BotFather가 처음 보내는 메시지는 사용 방법에 대한 안내입니다. 목적에 따라 제공하는 command를 사용하면 되는데요, 지금은 알람을 받아 처리하기 위한 Bot을 만드는 과정이므로, 제일 상단의 /newbot 을 이용하는 가이드를 소개할 예정입니다.

 

 

/newbot 명령어를 입력하면 ‘name for your bot’ 과 ‘username for bot’을 차례대로 물어보게 됩니다.

  • name - 채팅방 이름입니다.
  • username - bot 이름입니다. (bot의 이름은 맨 뒤에 _bot 을 붙여서 만들어야 하며, 중간에 . 은 지원하지 않습니다.)

생성을 완료하면 채팅방으로 바로 입장 가능한 URL 과 http api를 사용하기 위한 token 이 표시되는데요, 이걸 잘 기입해 둬야 합니다.

 

 

우선 단축 url 주소를 클릭하면 해당 채팅방으로 바로 입장하게 되는데요, 다른 사람을 초대하려면 해당 url 을 전달하면 됩니다. 처음 BotFather를 추가할 때처럼 채팅방 제일 하단의 ‘시작’ 버튼을 클릭해주면,

 

 

요렇게 채팅방에 활성화 되는 것을 확인할 수 있습니다. 이제 봇 생성은 완료되었는데요, 알람을 봇을 통해 받기 위해서는 다음 2가지가 필요합니다.

  • http api token (API_Token)
  • chat id

 

■ API Token 값 확인

토큰 값은 봇을 처음 생성할 때 나오기 때문에 바로 알 수 있는데요, chat id는 별도로 조회해서 확인을 해야 합니다.

 

 

■ Chat id 확인

요런 형식으로 getUpdate api를 curl 명령어를 통해 날리거나, 웹 브라우저에 해당 주소를 입력해도 됩니다.

그런데 말입니다, getUpdates를 해도 정보가 표시되지 않는데요, 이유는 채팅방에 메시지가 없기 때문입니다. (이게 왜 문제???)

 

 

요렇게 Bot 이 포함되어 있는 채팅방에 메시지를 입력해 준 다음

 

 

다시 getUpdate api를 날려주면, 다음과 같이 결과값이 나오는 것을 확인할 수 있습니다. 유레카~~

 

 

대충(?) 보기 좋게 정렬하면 다음과 같은 모양이 됩니다. 중간에 보면 chat 이 있고, 해당 항목의 하위에 id가 있는데요, 이 부분이 바로 chat id 입니다.

 

 

■ 메시지 테스트

대부분 Python을 이용해서 Bot 에게 메시지를 전달하는 가이드를 많이 작성하는데요, 그냥 api 호출만으로도 메시지 전달이 가능합니다.

해당 api를 웹 브라우저에 입력하거나, post 등으로 전달을 하시면 됩니다.

 

 

 


by mkdir-chandler

 

 

 

 

 

728x90
반응형