안녕하세요

지난 2020년 5월 29일부로 잠시 중단 되었던 통합 대기 알림 채널을 다시 시작할 예정입니다.

중단 안내 댓글에 "mk18mod0" 님께서 오라클 클라우드 무료 티어가 있다고 해서 조금씩 알아보고 시험해 보고 있습니다.

일정 기간 동안은 시험용으로 채널 알림이 갈 예정입니다.

감사합니다.

  1. BlogIcon 崔瑆鉉 2020.09.07 12:01 신고

    좋은 서비스 계속해주세요.

  2. 감사합니다 2020.09.07 14:45

    덕분에 편하게 잘 쓰고 있습니다. 감사합니다.

  3. unknown 2020.09.07 23:57

    기다리고 있었는데 너무나도 반가운 소식 감사합니다!! :-)

  4. mk18mod0 2020.09.08 15:21

    댓글 달았던 mk18mod0 입니다! 서비스 재개에 진심으로 감사드립니다! ㅎㅎ
    좋은 일만 가득 하시길 빕니다~~!

2016년 3월 8일부터 제공 되었던 텔레그램 통합대기지수 알림 채널이 잠정적으로 중단 됩니다.

"라즈베리파이" 라는 소형 컴퓨터에서 서비스를 진행 하였었는데

중간 중간 SD 카드도 고장이 나서 교체를 진행 하면서 서비스를 제공 하였습니다.

현재 사용중인 라즈베리파이2 장비가 4년을 쉬지 않고 작동을 하다 보니 메모리 불량이 발생하였습니다.

SD 카드 교체 비용/라즈베리파이 교체 비용이 생각보다는 크기 때문에 당분간은 서비스 제공이 어렵습니다.

언제가 될 지는 모르겠지만 추후 라즈베리파이를 새로 구매 하게 되면 그때 다시 서비스를 제공 하도록 하겠습니다.

감사합니다.

  1. Darimee 2020.05.29 10:22

    엇...정말 유용했는데...

    제가 서버 제공하는데 도움 드리고 싶은데 후원계좌있으면 후원하고 싶습니다.

    • BlogIcon Acidpop acidpop 2020.05.29 12:41 신고

      안녕하세요
      후원 가능하시다면 텔레그램 채널에 후원 정보를 추가해두었습니다.

      정말 감사합니다 ^^

  2. 9033 2020.05.29 12:08

    aws 람다 같은 서버리스로 옮기는 것도 방법같습니다.

    • BlogIcon Acidpop acidpop 2020.05.29 12:42 신고

      예전에 AWS 를 한번 사용했다가 요금이 많이 청구 된 적이 있어서 AWS 는 손이 잘 안가더라구요

  3. ip.day.cat 2020.05.29 13:05

    헉.. 여태 잘 사용했는데 라즈베리가 이제 한계가 왔나보군요;;
    그간 감사했습니다 ㅎㅎ

  4. 2020.05.29 17:57

    비밀댓글입니다

  5. 2020.05.29 18:28

    너무 유용하게 사용했었는데 아쉽습니다.
    그동안 사용한 이용료라고 생각하고 후원계좌 통해서 작게나마 도움 드릴께요~

  6. 대기화이팅 2020.06.08 02:36

    ㅠㅠ 올해 초에 알아서 유용하게 미세먼지 상황을 받았는데 ..
    아쉽네요 ㅠ

  7. mk18mod0 2020.08.19 02:56

    안녕하세요
    알림 유용하게 받고 있었는데 중단되어 아쉽네요.. ㅎㅎ
    찾아보니 오라클 클라우드 무료 티어가 꽤 매력적이던데 이 서비스 사용해 보시는건 어떨까 싶어서 댓글 남기고 갑니다..
    저는 워드프레스 블로그 돌릴 요량으로 인터넷에 스텝바이스텝으로 알려주는 블로그 보고 세팅한지 한달짼데(개발자가 아니라서 따라하기도 벅찼지만요 리눅스도 처음이고..) 일단 다른 서비스들처럼 사용량 초과되면 과금되는 구조가 아니라서 사용량 신경 안써도 되니 좋더라구요 이렇게 적으니 광고 같은데;; 암튼.. 유용하게 쓰던 알림이 아쉬운 맘에 댓글 남기고 사라집니다.. ㅎㅎ

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

 

 

Telegram 은 채널 이란 개념의 채팅방을 생성하여

 

관리자만 메시지를 보낼 수 있는 채팅방 운영이 가능하다.

 

미세먼지 알림봇 역시 이 채널 기능을 이용하여 보내지고 있다.

 

 

일단 채널에 봇이 메시지를 보내려면 다음의 순서가 필요하다.

 

 

1. 채널을 생성한다.

 

2. 채널 정보에 가서 "관리자" 를 클릭한다.


3. "관리자 추가" 를 클릭한다. 


 




4. 메시지 작성 권한을 활성화 한다. (기본값으로 활성화 되어 있다)

 

5. 생성한 봇 ID 를 검색 하여 봇을 관리자로 추가한다.

 

6. 봇이 관리자로 추가가 되었다면 Telepot 을 이용하여 메시지를 보낼 수 있다.

 

 

python 실행

 

import telepot

 

bot = telepot.Bot('봇Token')

 

bot.sendMessage('@채널이름', '메시지')

 

 

위와 같이 해보면 해당 채널에 봇이 메시지를 보낸것을 확인 할 수 있다.

  1. 죄송해유 ㅠㅠ 2017.09.26 12:49

    채널 생성했고 관리자 추가 까지 했는데
    xe에서 새글을 쓰면 봇채팅에서는 메세지를 작성하는데
    오는데 채널에는 메세지 작성을 안 해요 뭔가 잘못한걸까요? ㅠ

    • BlogIcon Acidpop acidpop 2017.09.26 12:59 신고

      시스템에 ssh 로 접속 하신 다음에 다음 명령 한번 해보세요

      curl -k -d chat_id=@ChannelName -d text=test_message https://api.telegram.org/bot[BotToken]/sendMessage


      예제

      curl -k -d chat_id=@TestChannel -d text=test_message https://api.telegram.org/bot151515151:BBBB4BB_B88BBBBBBBBBBA7j74f35BSOGPw/sendMessage

      이렇게 하신 다음 json 형태의 결과 부분을 알려주세요

  2. 죄송해유 ㅠㅠ 2017.09.26 22:11


    curl: (6) Couldn't resolve host 'text=test_message'
    curl: (3) [globbing] error: bad range specification after pos 30

    입니다. !

    • BlogIcon Acidpop acidpop 2017.09.27 09:14 신고

      음.. 뭔가 테스트를 잘못 하신거 같은데요.

      https://imgur.com/a/hvMyn

      명령어 부분을 Bot Token 부분 지우고 캡쳐 해봤습니다. 참고 하시고 다시 한번 시도해보세요


      그리고 괜찮으시다면 비밀댓글로 Telegram ID 알려주세요

http://blog.acidpop.kr/191


예전에 제로보드 새글 또는 새 댓글을 텔레그램으로 받는 글을 포스팅 한적이 있다.


해당 글은 제로보드의 Core 파일(?) 을 수정해서 작동 하도록 만든 글이기에 일반 사용자가 접근 하기에는 어려운 점이 좀 있었다.






제로보드 문서를 좀 살펴 보다 보니 애드온을 이용해서 새 게시물이나 댓글이 등록 되는 시점에

 

특정 동작을 할 수 있도록 되어 있는걸 알게 되었다.

 

XE 애드온 문서를 참고 하여 대충 만들어 본 애드온이다.


제로보드를 설치 하고 해당 애드온만 설치 하면 바로 텔레그램으로 새글, 새 댓글 알림을 받을 수 있다.


SMS 나 이메일 알림 애드온은 꽤 많은것 같은데 Telegram 알림은 없는 것 같아서 만들어 보았다.






pushTelegram.zip



위 파일을 다운로드 받아서


/xe/addons 경로 아래에 압축을 풀면

 

pushTelegram 이란 디렉토리가 생성이 된다.


 



XE 설정 메뉴에 가서 설치된 애드온 메뉴가 이동 해 보면


pushTelegram 애드온이 설치 된 것을 확인 할 수 있다.


PC와 모바일 모두 체크 하고 저장 버튼을 누른다.


설정을 눌러 다음 화면으로 이동한다.



Telegram Bot Token 값은 다음 링크를 이용해서 생성된 Token 값을 입력한다.


http://blog.acidpop.kr/215



Telegarm 사용자 ID 는 다음 링크를 이용해서 알아 올 수 있다.


http://blog.acidpop.kr/216


보낼 대상의 숫자로 이루어진 사용자 ID를 입력한다.


해당 애드온이 작동할 게시판을 선택하고 저장 버튼을 누른다.




게시물을 작성 해 본다.



텔레그램으로 메시지가 잘 오는지 확인한다.


참고로 필자는 stop_spambot_xe 라는 애드온과 함께 사용중이다





왜 이 애드온을 아직까지 아무도 만든사람이 없는지는 잘 모르겠지만......


일단 제가 필요해서 만든 애드온이기에 필요한 사람들도 함께 쓸 수 있도록 블로그에 포스팅합니다.



다른곳에 퍼가실때는 꼭 출처를 남겨주세요.



 


 

휴리파파님께서 XE 텔레그램 애드온의 기능을 수정하여 더 좋은 애드온으로 개발하여 주셨습니다.

 

https://www.xetown.com/rxe_point/808690

 

위 링크를 참고하여 사용하시면 됩니다.

  1. 안창덕 2016.06.30 09:27

    감사합니다 정말 찾고 계속 찾고 있었던 건데 이제야 찾았네요
    잘 사용하겠습니다.
    아그리고 여러사람에게 보낼수 있는 방법은 없나요?

    • BlogIcon Acidpop acidpop 2016.06.30 11:11 신고

      안녕하세요
      여러 사람에게 보내는 기능은 추가 될 예정이 없습니다.

      그룹 채팅방을 만들어서 해당 그룹 채팅방 ID를 넣으시는것도 괜찮은 방법일것 같습니다.

  2. 초보 2016.07.17 23:08

    잘쓰겠습니다.

  3. 초보 2016.07.18 00:45

    여러명에게 보내는건 봇이 읽어 들인걸 채널로 보내면 되네요..

    • BlogIcon Acidpop acidpop 2016.07.20 13:48 신고

      채널로 보내셔도 되고 그룹채팅방으로 보내 셔도 됩니다.

      BotFatehr 에게 /setjoingroups 명령 보내고 봇 선택한 다음
      enable
      하시면 봇도 그룹 채팅방에 들어 가게 할 수 있습니다.

  4. BlogIcon Dear Memory 2016.12.12 00:26 신고

    카톡으로 오게는 못하나요?

  5. 수화 2017.01.22 21:58

    좋은 자료를 공개해주셔서 감사합니다. 게시글을 작성할 때에 정상적으로 텔레그램에 메시지가 오는데, 게시글을 수정할 때에도 동일하게 메시지를 보내네요. 혹시 글 수정하는 때엔 (&act=dispBoardWrite 이긴 하지만 이미 document_srl이 존재할 때) 예외 처리를 할 수 있을까요?

    • BlogIcon Acidpop acidpop 2017.01.23 09:45 신고

      죄송하지만 요즘은 xe 를 운영하고 있지 않아서 개발이나 테스트가 불가능합니다.

      애드온 압축 해제 하셔서 직접 변경해보셔도 될것 같아요

    • 도리 2017.08.04 10:59

      작년 자료이지만 Acidpop님 항상 좋은 자료 감사합니다.

      수화님 혹시 예외처리는 성공하셨는지요?

      지금은 이상하게 db에서 nick_name 항목을 가져오지도 못하는군요.

  6. 2017.08.06 15:56

    비밀댓글입니다

  7. rodney 2017.08.12 11:38

    그대로 따라 했는데.. 안되네요. 혹시 다른 설정도 필요한가요?

    • BlogIcon Acidpop acidpop 2017.08.14 10:57 신고

      제가 요즘은 제로보드를 사용하고 있지 않아서 작동 여부는 정확히 확인하기 어렵구요.

      안된다고 하시면 어떻게 안되는지를 자세하게 설명 해주셔야 도움을 드릴수 있습니다.

  8. rodney 2017.08.17 11:34

    $query_array = array(
    'chat_id' => $chat_id,
    'text' => $newtgmsg,
    );
    $request_url = "https://api.telegram.org/bot{$token}/sendMessage?" . http_build_query($query_array);

    // curl로 접속
    $curl_opt = array(
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_SSL_VERIFYPEER => 0,
    CURLOPT_URL => $request_url,
    );
    $curl = curl_init();
    curl_setopt_array($curl, $curl_opt);

    // 응답결과는 알아서 처리.
    var_dump(curl_exec($curl));

    죄송해요~ 자세하게 알려드려야 했는데..

    위부분을 추가해서 해결 했습니다^^

  9. lee 2017.09.16 13:24

    아이폰 유저는 받을 수 없나요?

  10. BlogIcon 2017.09.22 13:44

    봇을 채널로 보내는건 어떻게 할 수 있나요 ? ㅠ

    • BlogIcon Acidpop acidpop 2017.09.25 12:07 신고

      안녕하세요

      생성하신 봇을 채널에 초대 하신 다음 사용하시면 됩니다.

      자세한 사항은 포스팅 한 글을 참고 바랍니다.

      http://blog.acidpop.kr/274

  11. 2017.11.28 13:26

    비밀댓글입니다

  12. 2017.11.28 13:27

    비밀댓글입니다

  13. 휴리파파 2017.11.29 01:43

    안녕하세요. 하루 전 비밀글로 문의 남겼던 휴리파파입니다.
    https://www.xetown.com/rxe_point/808690 에 자료를 올렸습니다.(무료 다운로드)
    이름을 Board Activity Notification 이라 하였고,
    게시글 등록 수정 삭제 / 댓글 등록 수정 삭제에 대한 알림을 구분하여 푸쉬하도록 하였습니다.
    감사합니다.


날씨가 풀리면서 미세먼지, 초미세먼지등 대기 질이 안좋아 지는 시기가 오는군요.

 

텔레그램 봇과 openapi 를 이용해서 7, 11, 15, 19시에 각각 통합대기, 미세먼지, 초미세먼지 수치를

 

그림으로 알려주는 채널입니다.


https://telegram.me/airkorea


 

 

 

 

 

 

디자인이 개발자 디자인이라 좀 조악합니다만 그럭저럭 볼만합니다.

 

혹시 더 좋은 디자인을 제공해 주시면 반영하도록 해보겠습니다.

 

 

 

Telegram BOT 을 생성 하였다면 필요한 사용자에게 메시지를 보내야 한다.

 

Telegram BOT API 는 char_id 값 또는 채널 이름으로 메시지를 보낼수 있는데

 

이중 char_id 값을 가져 오는 방법을 설명 한다.

 

 

먼저 생성한 Bot 에게 아무 메시지나 전달 한다.

 

그 후 인터넷창에서 다음 URL 을 호출한다.

 

 

https://api.telegram.org/bot186547547:AAEXOA9ld1tlsJXvEVBt4MZYq3bHA1EsJow/getUpdates

 

빨간색 글씨 부분은 자신의 BOT 이 생성되면서 만들어진 Token 값이다.

 

자신의 Token 값으로 바꿔서 사용해야 한다.

 

 

{"ok":true,"result":[{"update_id":87654321,
"message":{"message_id":3,"from":{"id":12345678,"first_name":"\uc774\ucda9\ud638"....................

 

 

위와 같은 형식의 json 파일이 다운로드 된다.

 

그중 from 아래의 id 값이 바로 사용자의 chat_id 값이다.

 

 

  1. 2017.05.16 13:52

    비밀댓글입니다

  2. BlogIcon Danzy 2017.12.19 13:37

    https://github.com/A3sal0n/FalconGate/wiki/Get-Telegram-Chat-ID
    잘 안되어서 URL 방법을 찾았는데 같은 방법일까요?

    • BlogIcon Acidpop acidpop 2017.12.19 13:39 신고

      넵 동일합니다.
      해당 텔레그램 봇에게
      /get_my_id
      메시지를 보내면 id 를 보내 주네요

Telegram BOT 을 사용하기 위해 BOT 계정을 생성 하는 방법을 포스팅 한다.

 

 

 

1. Telegram 의 맨 왼쪽 상단에 @BotFather 를 검색 한다.

 

모바일용 Telegram은 다음 그림에 보이는것과 같이 새로운 메시지 버튼을 클릭 하고 @BotFather 를 검색한다.

 

 

2. @BotFather 를 검색 하면 그림과 같은 프로필 사진의 대화 상대를 찾을 수 있다.

 

BotFather 를 클릭하여 대화를 시작한다.

 

 

 

3. 시작 버튼 또는 /start 를 입력하여 메시지를 전달한다.

 

 

4. /start 메시지를 전달 하면 BotFather 는 위와 같은 메시지를 보내준다.

계정을 생성 하기 위해 /newbot 을 클릭하거나 /newbot 이라고 메시지를 보낸다.

 

 

 

 

5. /newbot 메시지를 보내면 BotFather 가 BOT 이름은 뭘로 할꺼냐고 묻는다.

 

맨 끝이 bot으로 끝나는 이름을 입력하면 된다.

 

예를 들어 acidpopnas  라고 메시지를 보내면 bot 으로 끝나는 이름으로 입력하라고 BotFather 가 말한다.

 

acidpopnasbot  이라고 메시지를 보내면 BOT 계정이 생성이 되었고 해당 봇의 Token 값이 보여진다. (이 스크린샷의 Token 은 이미 재발급 되어 없는 Token)

 

 

 

6. BOT 을 사용하기 위한 계정 생성이 완료 되었다.

 

여기에서 가장 중요한 부분은 Token 값이다.

 

 

Use this token to access the HTTP API:
186547547:AAEXOA9ld1tlsJXvEVBt4MZYq3bHA1EsJow 

 

이 값을 이용하여 Bot 을 만들거나 Bot 으로 메시지를 보낼 수 있다.

+ Recent posts