강좌/Telegram BOT

curl 을 이용해서 메시지 또는 사진, 파일 Telegram BOT 보내기

acidpop 2018. 3. 23. 13:22
반응형

Telegram BOT 을 사용할때 그냥 간단하게 명령어 한줄로 사용 할 수는 없을까? 하는 사람들을 위해 포스팅 한다.

 

Telegram BOT 은 많은 API 들을 제공해주는데 그중 sendMessage API 는 가장 사용 하기 쉽다.

 

예제를 보자.

 

curl -k -d "chat_id=123456789" --data-urlencode "text=\"Test Message 보냅니다\"" https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/sendMessage 

 

빨간색 글씨는 각각 chat_id 와 Token Key 이다.

 

주희 할 점은 --data-urlencode "text=  이 코드 다음인데 띄어쓰기 또는 한글이 포함되어 있다면

\" 로 시작해서 \" 로 끝내야 한다는것

즉 다음과 같이 메시지를 작성해야 한다.

 

--data-urlencode "text=\"Test Message 보냅니다\""

 

 

다음과 같이 제한적이지만 HTML 코드도 전송이 된다.

curl -k -d "chat_id=123456789" --data-urlencode "text=\"Test Message 보냅니다<a href='http://blog.acidpop.kr'>블로그</a>\"" -d "parse_mode=HTML" -d "disable_web_page_preview=true" https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/sendMessage

 

여기까지가 일반적인 Text 를 보내는 방법이고

 

사진이나 문서파일을 전송 하려면 어떻게 해야 할까?

 

curl 의 form 옵션을 이용해서 전송 하면 된다.

 

사진을 보내는 방법은 다음과 같다.

 

curl -k -F chat_id=123456789 -F photo=@"/home/test.png" https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/sendPhoto

 

마찬가지로 Document 는 사진 보내는것과 매우 유사하다.

 

 

curl -k -F chat_id=123456789 -F document=@"/home/test.xlsx" https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/sendDocument

 

 


 

 

 

 각종 Telegram BOT API 는 다음 링크를 참고하여 옵션들을 조정해 주면 다양하게 사용 할 수 있다.

 

https://core.telegram.org/bots/api#available-methods

 

 

반응형