사실 연동방법은 쉽지만, 텔레그램의 chat_id를 가져오는 방법이 쉽지않아서 바로 적용은 어렵습니다만..
소규모 커뮤니티 혹은 쇼핑몰 운영시 새글알림이나 댓글 확인을 할때 유용하긴 하더라구요
그런부분도 sms로 할필요는 없으니깐요.
텔레그램의 botfather 에서 /newbot 으로 자신이 생성할 텔레그램봇을 만들어줍니다.
여기서 bot_api를 얻을수 있습니다.
그러면 알림센터에서 알림이 발생했을때 알림을 텔레그램으로 보내주면 되는데요
ncenterlite.controller.php 에서
_insertnotify함수에서 보면
else if($logged_info) { // 익명 노티가 아닐 때 로그인 세션의 회원정보 넣기 $args->target_member_srl = $logged_info->member_srl; $args->target_nick_name = $logged_info->nick_name; $args->target_user_id = $logged_info->user_id; $args->target_email_address = $logged_info->email_address;
//텔레그램 변경 $oAppModuleModel = &getModel('ncenterlite'); $oAppModuleModel->getPushMessage($args); }
저 익명노티가 아닐때.. 이부분을 찾아서 아래에 텔레그램 코드를 넣어줍니다.
그리고 아래 함수를 ncenterlite.model.php에 추가해줍니다.
function getPushMessage($v){ switch($v->type) { case 'D': $type = "글"; break; case 'C': $type = "댓글"; break; // 메시지. 쪽지 case 'E': $type = "쪽지"; break; } switch($v->target_type) { case 'C': $str = sprintf('%s님이 회원님의 %s에 "%s" 댓글을 남겼습니다.', $v->target_nick_name, $type, $v->target_summary); break; case 'M': $str = sprintf('%s님이 "%s" %s에서 회원님을 언급하였습니다.', $v->target_nick_name, $v->target_summary, $type); break; // 메시지. 쪽지 case 'E': $str = sprintf('%s님이 회원님에게 쪽지를 보냈습니다', $v->target_nick_name); case 'P': $str = sprintf('%s님이 새글 %S 를 작성했습니다.', $v->target_nick_name,$v->target_summary); break; } $msg = $v->target_summary; $url2 = $v->target_url; $oMemberModel = &getModel('member'); $member_info = $oMemberModel->getMemberInfoByMemberSrl($v->member_srl); $email = $member_info->email_address; $str=$str.urlencode("\r\n".$url2); $chat_id = '11111'; $bot_id = "botfather가 알려준 api"; $url = 'https://api.telegram.org/bot' . $bot_id . '/sendMessage?text='.$str.'&chat_id='.$chat_id; $result = file_get_contents($url); }
그러면 이제 준비완료인데요.
가장중요한 chat_id를 확인해야겠죠. chat_id는 얻는 방법이 좀 이상해요
일단 텔레그램에서 친구추가로 자신의 bot을 추가한다음 /start 를 해줍니다. 이것을 안해주면 안됩니다.
만약 이것을 안하면 그전에 했던 사람의 id가 나옵니다. ㅡㅡ;;
그런다음
https://api.telegram.org/bot/bot_api/getUpdates?offset=0
*bot_api 는 위에서 얻은 api를 입력하시면 됩니다.
를 브라우저에 입력해주거나 , 해당부분을 curl등으로 값을 리턴받으면 알수 있습니다.
원래 처음 계획은 텔레그램으로 개별 사용자들이 푸쉬메시지를 받게 하는 게 목적이었는데, 이 chat_id를 바로 알수 있는 방법이 없어서 힘들더군요. 지금은 운영자들 끼리만 사용하고 있습니다.
다음번엔 없어진 알림센터의 새글알림 코드를 되살려서 운영자만 새글알림을 텔레그램으로 받는 방법을..올려보도록 하겠습니다.
이 내용은 제 블로그에도 같이 올라갑니다... 오늘도 이렇게 10점 벌어갑니다 ㅎㅎㅎ
심지어 복잡하지도 않군요!