텔레그램 봇을 생성하고 메시지 보내기
텔레그램은 비교적 사용하기 쉬운 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이라는 메시지를 확인할 수 있었습니다.




