이 강좌를 보기전 Telegram 이 설치되어 있고 PHP를 이용해서 텍스트 파일을 전달 받을 수 있는 상태이어야 합니다.
그리고 당연히 제로보드XE 도 설치가 되어 있어야 합니다.
2015/08/13 - [강좌/RaspberryPI 활용] - 라즈베리파이 Telegram - PHP를 이용하여 메시지 보내기
필자는 XPenology 에 제로보드 XE 1.8.7을 올려서 사용중이다.
이 블로그의 질문 게시판도 XPenology 의 XE를 끌어다 붙여놓은 게시판이다.
알람을 받는 방법은 상당히 간단하다.
다음 경로의 파일을 백업해두자.
mv /var/www/xe/modules/board/board.controller.php /var/www/xe/modules/board/board.controller.php.bak
/var/www/xe 경로는 제로보드XE가 설치되어 있는 경로이다.
vi 또는 nano 등의 에디터로 위 파일을 열어보자.
function procBoardInsertDocument()
이 함수에서 아래 코드가 있는 부분 바로 위에 코드를 추가한다.
필자의 XE 에서는 161 라인 정도이다.
// if there is an error
if(!$output->toBool())
{
return $output;
}
추가할 코드
// 월~금, 오전 8시~오후 9시59분까지만 알림 if( $week <= 5 && $curhour < 22 && $curhour > 8) { $newmsgtitle = $obj->nick_name."님이 새 글을 등록하였습니다"; $newtitle = "제목 : ".$obj->title; $newemail = "E-Mail : ".$obj->email_address; //$newcontents = simpl_str($obj->content, 128); $newcontents = cut_str(strip_tags($obj->content), 128); $newtarget_url = getNotEncodedFullUrl('', 'document_srl', $obj->document_srl); $newboardmsg = "/tmp/sendboard.txt"; $newboardfile = fopen($newboardmsg, "w"); fwrite($newboardfile, $newmsgtitle."\r\n"); fwrite($newboardfile, $newtitle."\r\n"); fwrite($newboardfile, $newemail."\r\n"); fwrite($newboardfile, "\r\n내용 :\r\n".$newcontents."\r\n"); fclose($newboardfile); exec("curl --form userfile=@".$newboardmsg." --form password=5E884898DA28047151D0E56F8DC6292773603D0D6AABBDD62A11EF721D1542D8 http://192.168.0.199/tgcli.php }
위 코드는 새글에 대한 알람이고 댓글에 대한 알람도 추가하자.
function procBoardInsertComment()
위 함수 내용 중 아래 코드 바로 위에 추가하자.
if(!$output->toBool())
{
return $output;
}
// 월~금, 오전 8시~오후 9시59분까지만 알림 if( $week <= 5 && $curhour < 22 && $curhour > 8) { $document_srl = $obj->document_srl; $comment_srl = $obj->comment_srl; $newcontents = $obj->nick_name."님이 새 댓글을 등록하였습니다"; $newtarget_url = getNotEncodedFullUrl('', 'document_srl', $document_srl, '_comment_srl', $comment_srl) . '#comment_'. $comment_srl; $newboardmsg = "/tmp/sendboard.txt"; $newboardfile = fopen($newboardmsg, "w"); fwrite($newboardfile, "\r\n내용 :\r\n".$newcontents."\r\n"); fwrite($newboardfile, $newtarget_url."\r\n"); fclose($newboardfile); exec("curl --form userfile=@".$newboardmsg." --form password=5E884898DA28047151D0E56F8DC6292773603D0D6AABBDD62A11EF721D1542D8 http://192.168.0.199/tgcli.php }
위 코드를 추가 하면 이제 게시판에 새글 또는 댓글이 달릴때 텔레그램으로 메시지를 전송 하게 된다.
게시물 폭탄 테러가 있다면 텔레그램이 난리가 나는건 함정...
'강좌 > XPEnology 활용' 카테고리의 다른 글
XPEnology DSM 6.0 이상에서 다운로드 스테이션 텔레그램 알림 받기 (65) | 2016.08.29 |
---|---|
Git https 오류 해결 (0) | 2016.05.20 |
XPEnology SMS 알림을 텔레그램 봇으로 보내기 (3) | 2016.02.12 |
XPEnology 전용 Telegram BOT (65) | 2016.02.03 |
XPEnology SMS 알림을 텔레그램으로 보내기 (11) | 2016.01.04 |
XPEnology DSM 에 Telegram CLI 설치하기 (44) | 2015.09.01 |
DSM 알림(notify) 메시지 저장 위치 (3) | 2015.08.20 |
Xpenology DownloadStation 알림 메시지 텔레그램 전송 (17) | 2015.08.13 |