[IFTTT] 텔레그램 봇으로 최신 Feed 받아보기

Posted by Readiz
2016.02.21 22:27 연재/Project Jarvis



텔레그램 봇으로 최신 Feed 받아보기



  텔레그램 봇이 여러가지 용도로 사용이 가능한데, 그 중 제가 현재 유용하게 사용하고 있는 것을 소개해드리려고 합니다. 바로 Feed를 받아보는 용도로 활용하는 것인데요, 아래 스크린샷처럼 활용이 가능합니다.





  사용을 위해선 우선 Bot을 만들어야 합니다. 텔레그램에서 @BotFather를 친구추가 합니다.

  그 다음 /newbot 명령어를 통해서 진행을 하시면 됩니다. 그러면..






Use this token to access the HTTP API:

186115701:AAHBzzZShEnm6toxf1qIAyQx08z1IOGscRE


  위 처럼 토큰을 주게 됩니다. 이것을 바탕으로 IFTTT Recipe를 만들 수 있습니다.


  우선 Bot의 메시지를 전달하는 것은 SendMessage라는 HTTP POST Request를 날려줌으로써 생성할 수 있습니다. 위의 HTTP API Token을 이용하여 아래와 같은 주소로 접근하면 되는 것인데요,


https://api.telegram.org/bot186115701:AAHBzzZShEnm6toxf1qIAyQx08z1IOGscRE/SendMessage



  위 예시처럼 bot 뒷부분에 발급받은 Key를 넣으면 됩니다. 이제 IFTTT Recipe를 생성할 차례입니다.


IF THIS THEN THAT


  THIS에 해당하는 부분은 Feed 입니다. New Feed Item으로 선택하고, 구독을 원하는 Feed의 주소를 입력합니다. 제 블로그로 테스트를 해보자면 http://blog.readiz.com/rss 겠네요.





IF THIS THEN THAT


  이 부분이 중요한데요, 위에서 생성한 SendMessage 주소를 잘 기억하시기 바랍니다. 그리고 나서 아래처럼 설정합니다. 플러그인은 Maker를 선택합니다. (이 플러그인은 Web Request를 보낼 수 있습니다)




1. URL: 위에서 설명드린 URL을 적습니다.

2. Method: POST로 설정 - GET도 상관없긴 합니다.

3. Content Type: JSON을 권장합니다. 그렇지만 form encoded도 동작하긴 하더군요.

4. Body: 여기가 중요합니다.

  실제로 보낼 메시지가 적히는 구간이고, 우선은 샘플로 아래처럼 작성해 보았습니다.


{"chat_id": "@readiz", "text": "<<<{{EntryTitle}}>>> - <<<{{EntryUrl}}>>>"}


  이 형식은 일반적인 JSON 형식입니다. {}로 싸여져 있고 Key : Value 의 순서대로 값이 들어가는데, 당장 필요한 것은 메시지를 받을 대상과 그 내용이 되겠죠.

  chat_id는 실제로 이 내용을 받을 사람의 ID를 쓰면 됩니다. 그리고 text에 포함되는 EntryTitle과 EntryURL은 각각 Feed의 Title과 URL 되겠습니다. Description 같은 것도 추가가 가능하니 원하시면 옆의 비커모양(?)의 아이콘을 누르시고 받아보실 내용 추가하시면 되겠습니다.


  이렇게 추가하시고 원하는 Feed에 대해서 작업을 반복하시면 나만의 텔레그램 구독 머신이 탄생하겠습니다. 다만 IFTTT가 실시간으로 New Feed를 긁어오는 것은 아니니 약간의 시간 지연이 있는 것은 감안해야 할 것입니다.



  나중에 소개드리겠지만 이 방법의 장점은 각종 알림들의 Channel을 Telegram으로 통합시킬 수 있고, Telegram은 거의 모든 플랫폼을 지원한다는데에 있습니다. 더 깊은 활용법은 추후의 포스팅에서 드리도록 하죠..


저작자 표시 비영리 변경 금지
신고
Tags
이 댓글을 비밀 댓글로
  1. 메인 썸네일이 어느순간부터 하나로 나오네요
    이전에는 여러개로 나왔는데 혹시 제가 뭘 잘못만졌나 싶어서
    스킨을 다운받고 재설치해봐도 그러네요.. 원인을 알수있을까요?

    • 관련내용 포스팅 했습니다. http://blog.readiz.com/260
    • WayWise
    • 2016.03.18 14:41 신고
    그룹채팅방에 추가하고 싶은데 뭐가 문제인지 잘 안되네요. 일단 봇 자체에서도 rss 구독이 안되고요. 위 포스팅에서 그룹채팅방 대상으로 할 땐 달라지는 부분이 있나요?
    • 그룹에서 사용중입니다. 봇에 그룹들어가게하는 설정이 있었던걸로.. 저도 세팅한지 좀 되어서 까먹었네요..
      • WayWise
      • 2016.03.18 16:09 신고
      botfather에서 설정하는 거 말씀이신가요? enable 되어있긴 했는데 일단 itfff 자체에서도 실행이 안되는 것처럼 보이더라구요.

      rss, api 주소 모두 OK입니다만, Body 부분에서 뭐가 잘못된건지 의심되기도 하고요. 일단 bot 자체로 배달되지 않는 게 문제 같습니다.

      본문에 있는 chat_id에 봇 아이디를 넣었는데 그게 잘못된 건가요?
    • 단톡방이면 톡방 chat_id 를 알아야하구요, 개인톡이면 아이디 넣어도 상관없을겁니다. 일단은 get method로 요청날려서 되는지 확인해보시죠
      • WayWise
      • 2016.03.18 19:02 신고
      헐.. 말씀 하신대로 get method에 chat_id를 단톡방 링크 넣었더니 바로 먹히네요 ㄷㄷ 감사합니다. ㅠㅠ

      그런데 get과 post의 차이가 뭔가요 0_0
    • 별 차이는 없지만 url에 같이 정보를 보내느냐 body에 보내느냐 차이입니다. 기술적인 부분이라 구글링 추천드립니다.
    • 왕초보
    • 2016.07.12 16:27 신고
    봇을 생성까지는 했는데...다음을 어떻게 해야 할지 모르겠네요..sendmessage로 접속하라는데 여기서 부터 막히네요..
    제가 하고 싶은건 홈페이지에 게시판에 새로운 글이 올라오면 봇으로 알리미 기능을 사용하고 싶습니다.
    좀 도와 주세요

티스토리 툴바