텔레그램 (https://www.telegram.org/)

 

텔레그램 봇 생성하고 토큰 받기

 

대화상대에서 BotFather를 찾아 대화창에 /start를 입력한다.

입력하면 사용할 수 있는 명령어들을 볼 수 있다.

(웹브라우저 접속은 여기로 => https://web.telegram.org/#/im?p=@BotFather)

 

BotFather 대화창에서 사용할 수 있는 명령들

 

봇 생성을 위해 대화창에 /newbot을 입력한다.

명령을 입력하고 나면 봇의 표시 이름(name)을 입력하라고 한다.

 

 

봇의 표시 이름(name)을 입력한다. "Test bot"이라는 이름을 입력했다.

이번엔 봇의 이름(username)을 입력하라고 한다. 아이디와 같이 봇을 인식하는 이름을 입력하면 된다.

 


봇의 이름(username)를 입력한다. test_bot를 입력했으나 중복이어서 다른 이름(anyway_test_bot)을 입력했다.

(이름은 항상 bot로 끝나야 한다. ex. TetrisBot, tetris_bot)

입력하고 나면 API에서 사용할 토큰을 알려준다.

 

빨간색 박스안에 1232767638:AAEM ... YRSBvnO-4Ng 이 부분이 토큰이다.

 

봇의 챗 아이디(chat_id) 알아내기

 

위에서 입력한 봇 이름(username)을 대화 목록 검색에서 찾아 대화를 시작하고 아래  START  버튼을 누른다.

 

 

웹브라우저 주소창에 "https://api.telegram.org/bot" + 위에서 확인한 토큰 + "/getUpdates" 을 입력한다.

(이 경우 주소는 이렇게 => https://api.telegram.org/bot1232767638:AAEMu9cVLfAynhswH7f784VwYRSBvnO-4Ng/getUpdates)

입력하고 나면 페이지에 JSON형식의 데이터가 출력되는데 이중에 chat.id에 해당하는 부분이 나의 챗 아이디.

 

위와 같이 보지 못 하고 내용이 result: [] 였다면 봇과 대화가 시작되지 않은 상태이니 START 버튼을 눌러 대화를 시작해주자

 

대화창에 메세지 보내기

 

위에서 확인한 챗 아이디를 이용해 웹브라우저 주소창에 "https://api.telegram.org/bot" + 토큰 + "/sendMessage?chat_id=" + 챗 아이디 + "&text=" + 보낼 메세지 이렇게 입력한다.

(https://api.telegram.org/bot1232767638:AAEMu9cVLfAynhswH7f784VwYRSBvnO-4Ng/sendMessage?chat_id=12345678&text=Telegram%20Bot%20Test%20Message)

 

대화창에서 보낸 매세지를 확인할 수 있다.

 

터미널에서 CURL을 이용해 메세지 보내기

 

curl명령을 아래와 같이 구성해서 메세지를 보낼 수 있다.

 

curl -s -X POST https://api.telegram.org/bot[토큰]/sendMessage -d chat_id=[챗아이디] -d text=[메세지]

 

위의 내용을 기준으로 작성하면 이렇게 된다. 

(아래 내용에 \는 명령문이 길어서 여러 줄로 입력할때 다음 줄에 계속 된다는 의미)

 

curl -s -X POST \
https://api.telegram.org/bot1232767638:AAEMu9cVLfAynhswH7f784VwYRSBvnO-4Ng/sendMessage \
-d chat_id=12345678 \
-d text="Telegram
Test
Message"

이렇게 여러 줄의 메세지도 보낼 수 있다.

 

메세지는 ""로 묶어서 여러 줄로 보내는 것도 가능한데 메세지 내용 끝에 \를 붙이면 다음 줄에 연결된다는 의미로 해석해 메세지가 한 줄로만 보내진다.

 

curl -s -X POST \
https://api.telegram.org/bot1232767638:AAEMu9cVLfAynhswH7f784VwYRSBvnO-4Ng/sendMessage \
-d chat_id=12345678 \
-d text="Telegram \
Test \
Message"

여러 줄의 메세지를 보내려면 메세지에 \를 입력하지 말자.

 

+ Recent posts