텔레그램 봇을 생성하고 메시지 보내기
텔레그램은 비교적 사용하기 쉬운 API 서비스를 제공합니다. 따라서 보안이 큰 문제가 되지 않는 CI/CD 시스템에서 이벤트를 알리는 쉬운 도구로 사용할 수 있습니다. 젠킨스 시스템에 텔레그램을 통합하려고 하는데, 텔레그램 봇을 만드는 기본적인 방법을 소개하려고 합니다.
개요
텔레그램 메시지를 보내기 위해서는 텔레그램 봇과 일치하는 token
과 채팅방을 나타내는 chatid
가 필요합니다.
token
: 텔레그램에서 봇을 생성할 때 볼 수 있습니다.chatid
: 토큰을 찾으면 해당 토큰을 사용하여 텔레그램 APIgetUpdates
를 호출하여 찾을 수 있습니다.
결론적으로 token
과 chatid
를 모두 찾았다면 아래 URL을 호출하여 텔레그램 채팅방에 im bot
메시지를 보낼 수 있습니다.
1
2
3
4
5
6
7
https://api.telegram.org/bot<token>/sendMessage?chat_id=<chatid>&text=im bot
# example
- token: 6870000000:AAEz8Oaaaaaaaaaa-RBixhsHabbbbbbbbbb
- chatid : 1230000000
https://api.telegram.org/bot6870000000:AAEz8Oaaaaaaaaaa-RBixhsHabbbbbbbbbb/sendMessage?chat_id=1230000000&text=im bot
텔레그램 봇 만들기 - 토큰
텔레그램에서 botfather
를 찾아 채팅방에 입장하세요. BotFather는 텔레그램 봇을 생성/관리할 수 있는 서비스 봇입니다.
newbot
명령을 사용하여 새 봇을 만듭니다.
BotFather는 봇의 이름과 사용자 이름을 묻습니다. 실제로 사용자 이름
은 봇과 통신할 채팅방입니다. 텔레그램 봇이 성공적으로 생성되면 BotFather는 봇과 통신하기 위한 인수인 토큰
을 제공합니다.
토큰은 텔레그램 API를 사용하여 봇을 제어하기 위한 가장 기본적인 자격 증명입니다. 그러므로 공개되지 않도록 주의해서 적어 주십시오.
텔레그램 getUpdates API 호출 - chatid
BotFather가 봇을 생성한 경우 텔레그램에서 봇을 찾아 메시지를 보내세요. 안녕하세요`라고 문자를 보냈어요.
그런 다음 Chrome이나 Edge 등 사용하는 웹 브라우저에서 위의 봇 생성 시 찾은 토큰과 결합하여 아래 URL을 호출합니다.
1
2
3
4
5
6
7
https://api.telegram.org/bot<token>/getUpdates
# example
- token: 6870000000:AAEz8Oaaaaaaaaaa-RBixhsHabbbbbbbbbb
https://api.telegram.org/bot6870000000:AAEz8Oaaaaaaaaaa-RBixhsHabbbbbbbbbb/getUpdates
그러면 JSON 형식의 문자열이 브라우저에 표시되고 chat
의 id
는 chatid
가 됩니다. chatid
에 주목하세요. Edge 브라우저를 사용하면 줄 정렬된 JSON 문자열을 볼 수 있습니다.
브라우저를 통해 텔레그램 메시지 보내기 - sendMessage API
결론적으로 젠킨스 플러그인을 사용하여 텔레그램 메시지를 보내지만 테스트 목적으로 sendMessage
텔레그램 API를 사용하여 브라우저에 메시지를 보냅니다.
API는 다음과 같으며, 위 단계에서 찾은 토큰과 chatid를 이용하여 텔레그램 메시지를 보낼 수 있습니다.
1
2
3
4
5
6
7
https://api.telegram.org/bot<token>/sendMessage?chat_id=<chatid>&text=im bot
# example
- token: 6870000000:AAEz8Oaaaaaaaaaa-RBixhsHabbbbbbbbbb
- chatid : 1230000000
https://api.telegram.org/bot6870000000:AAEz8Oaaaaaaaaaa-RBixhsHabbbbbbbbbb/sendMessage?chat_id=1230000000&text=im bot
잘 작동했나요? 아래와 같이 텔레그램에서 im bot
이라는 메시지를 확인할 수 있었습니다.