텔레그램 푸쉬 플러그인 > 그누보드5 플러그인

그누보드5 플러그인

그누보드는 다양한 기능을 추가하기 쉽습니다.

텔레그램 푸쉬 플러그인 정보

텔레그램 푸쉬 플러그인

첨부파일

telegram_class.php (1.8K) 407회 다운로드 2018-03-15 18:01:34

본문

텔레그램의 채팅 bot을 이용해서 그누보드의 회원가입, 게시글 작성, 쪽지 전송 등

사이트에서 발생하는 여러가지를 알림으로 받아 볼 수 있도록 하는 플러그인 입니다.

 

상단에 첨부한 파일을 그누보드가 설치된 원하는 디렉토리에 넣어주시면 됩니다.

저의 경우에는 www/bbs 디렉토리에 해당 telegram_class.php 파일을 넣어두도록 하겠습니다.

 

우선 텔레그램의 계정이 있어야하며 텔레그램이 데스크탑에 설치되어 있어야합니다.

위의 과정은 모두 되어있다는 가정하에 진행하겠습니다.

 

1.https://telegram.me/botfather 링크에 접속합니다.

bed439a7a9fce77487bab5760f096e99_1521102788_5203.png

위와 같이 링크로 접속시 "Telegram Desktop 열기" 버튼을 클릭합니다.

그러면 BotFather 이라는 봇의 아버지와의 채팅이 시작됩니다.

bed439a7a9fce77487bab5760f096e99_1521102875_3478.png

이제 하단의 "START" 버튼을 클릭하고 채팅을 시작합니다.

bed439a7a9fce77487bab5760f096e99_1521102940_6868.png

위와 같이 채팅이 시작되면

채팅창에 아래와 같이 /newbot 을 입력하고 엔터를 누릅니다.

bed439a7a9fce77487bab5760f096e99_1521102996_1957.png

이어서 아래와 같이 자신이 생성할 봇의 이름을 입력합니다.

저는 이름을 "gnuwiz" 라고 생성 하겠습니다.

 

bed439a7a9fce77487bab5760f096e99_1521103057_491.png

다음으로 본인이 생성한 "봇 이름_bot" 이라고 채팅창에 입력후 엔터를 누릅니다.

저 같은 경우에는 봇 이름이 "gnuwiz" 이기 때문에 "gnuwiz_bot" 이라고 입력했습니다.

bed439a7a9fce77487bab5760f096e99_1521103148_6138.png

정상적으로 봇이 생성되었다면 아래와 같이 고유 token 값이 출력됩니다.

해당 부분은 바로 사용하기 때문에 가지고 있어야합니다.

bed439a7a9fce77487bab5760f096e99_1521103214_3925.png

그리고 채팅창에서 뒤로가기 버튼을 클릭하고

친구목록중 친구를 찾는 부분에 방금 생성한 봇 아이디를 입력합니다.

bed439a7a9fce77487bab5760f096e99_1521103417_1136.png
 

그리고 방금 찾은 봇 아이디와 채팅을 시작합니다.

채팅창에는 아래의 양식으로 입력후 엔터를 누릅니다.

https://api.telegram.org/bot발급받은토큰값/getUpdates

bed439a7a9fce77487bab5760f096e99_1521103511_6182.png

위와 같이 해당 링크를 입력후 링크를 클릭합니다.

그러면 브라우저에 해당 링크가 열리면서 json 형태로 결과값을 리턴 받는데
우리가 필요한 값은 해당 부분중 id 부분의 고유 값이 필요합니다.

bed439a7a9fce77487bab5760f096e99_1521103682_6223.png
 

여기 까지 잘 따라왔다면 이제 첨부파일 telegram_class.php을 열어서 해당 부분에 각 값을 넣어주면 됩니다.

$chat_id 변수에는 방금 받은 id 값을 넣고

$bot_token 변수에는 이전에 받는 token 값을 넣습니다.


<?php
/* telegram_class.php */
 
class telegram_msg {
    
    private $chat_id = '427588447'; // id 값
    private $bot_token = '541841220:AAGrqV3dJpLX98utPtn2XFzEgZ_lHXaVIYo'; // token 값
 
    public function __construct() {
 
    }
...................
?>

위와 같이 값을 넣었다면 이제 텔레그램 푸쉬를 사용 할 준비가 되었습니다.

마지막으로 그누보드의 특정 실행 구간에 해당 클래스를 실행 할 소스를 추가해야합니다.

 

저는 예시로 회원가입, 게시글 작성, 쪽지 전송 부분에서만 작동하도록 만들어 놓았습니다.

 

1.회원가입시 알림

www/bbs/register_form_update.php 파일을 열어서 사용자 코드 실행 부분 아래에

해당 소스를 붙혀넣습니다.


<?php
/* www./bbs/register_form_update.php */
 
// 사용자 코드 실행
@include_once ($member_skin_path.'/register_form_update.tail.skin.php');
 
// 텔레그램 PUSH 코드 실행(gnuwiz)
@include_once(G5_BBS_PATH.'/telegram_class.php');
$telegram_msg = new telegram_msg();
$res = $telegram_msg->send();
?>


2.게시글 작성시 알림

www/bbs/write_update.php 파일을 열어서 사용자 코드 실행 부분 아래에

해당 소스를 붙혀넣습니다.


<?php
/* www./bbs/write_update.php */
 
// 사용자 코드 실행
@include_once($board_skin_path.'/write_update.skin.php');
@include_once($board_skin_path.'/write_update.tail.skin.php');
 
// 텔레그램 PUSH 코드 실행(gnuwiz)
@include_once(G5_BBS_PATH.'/telegram_class.php');
$telegram_msg = new telegram_msg();
$res = $telegram_msg->send();
?>

 

3.쪽지 전송시 알림

www/bbs/memo_form_update.php 파일을 열어서 사용자 코드 실행 부분 아래에

해당 소스를 붙혀넣습니다.


<?php
/* www./bbs/memo_form_update.php */
 
// 실시간 쪽지 알림 기능
$sql = " update {$g5['member_table']} set mb_memo_call = '{$member['mb_id']}' where mb_id = '$recv_mb_id' ";
sql_query($sql);
 
// 텔레그램 PUSH 코드 실행(gnuwiz)
@include_once(G5_BBS_PATH.'/telegram_class.php');
$telegram_msg = new telegram_msg();
$res = $telegram_msg->send();
 
?>

 

정상적으로 해당 부분에 소스를 추가했다면

아래와 같이 특정 동작시 알림을 받아 볼 수 있습니다.

bed439a7a9fce77487bab5760f096e99_1521104383_3446.png

 

---------------------------------------------------------------------------

개인적으로 필요해서 만들었는데 저는 사용하는데 문제가 없습니다.

다만 추가 적인 커스텀을 원하신다면 직접 커스텀을 하셔야합니다.

플러그인이기는 하지만 충분히 사용 예시가 되어있기 때문에 커스텀이 어렵지 않습니다.

제가 사용하는데에는 충분하므로 따로 해당 소스의 기능 개선에 대해서는 받지 않겠습니다.

간단한 프로그램에 대한 질문은 gnuwiz.com 에서 쪽지로 주시면 최대한 빨리 답변은 드리도록 하겠습니다. 감사합니다.

추천
14

댓글 전체

아,,좋은 플러그인이 나왓군요,,감사합니다.
혹시 댓글도 알림을 받으려면 어떻게 하면 될까요?
커멘트 업데이트에 코드를 넣으면 되겠군요,,ㅎ
적용했는데..잘됩니다~
/bbs/board.php?bo_table=test 이렇게 나오고 뒤에 wr_id가 안나오는데
왜그럴까요?
그리고 혹시 수정글이 올라왔습니다. 알림에서 수정한 사람의 이름이 나오게 하려면 코드를 어떻게 해야 할가요?
mb_nick 부분을 mb_name 으로 바꾸면 이름이 나올듯합니다.
wr_id가 안나오는것은 저도 봐야알겠지만.. global $wr_id 전역변수로 선언하시면 고쳐질것같군요
class.php 파일에 보시면
global이라고 전역변수를 선언하는 부분이있습니다.
위에서 말씀드렸지만 따로 플러그인에 대해서 수정 추가 작업은 받지 않으려고 합니다..
저는 사용하기에 충분하기 때문에 한분한분 수정해드리면 의미가 없을 것 같아서요 ㅠㅠ 아무튼 위에 답변 드린것처럼 해당 부분에 $wr_id변수를 전역변수로 추가하시면됩니다.
기타 사항은 구글에서 php global 이라고 검색하시면 많은 예시가 나올거에요
에러 리포팅 : )

1. 회원정보 수정해도 '가입했습니다..' 라고 메세지가 뜹니다.
2. 관리자가 회원에게 보낸 쪽지에 답장을 받았는데, "관리자님께서 쪽지를 전송하셨습니다"라고 뜹니다. (~~가 관리자님께 답장을 보내왔습니다) 라고 뜨면 정말 좋을 듯하네요.

조금 패치해 주시면 정말 감사드리겠습니다! Orz
아, 그렇군요. ㅜㅜ; 그러면 되겠군요.
쪽지부분은 조금더 고려해보아야겠지요? 덕분에 텔레그램에 다시 관심을 가지고 어제 여러 테스팅과 시간을 보내보았네요. 감사드립니다... Orz
혹시 게시판별로 담당자를 별도 지정하는 방법은 없을까요?
A라는 게시판은 000-111-xxxx에게
b라는 게시판은 000-222-xxxx 이런식으로 가능한방법이 없을까요?
감사 합니다
1차 성공:G53,G54
=====================
고수님보시면 조언좀
하기와 같이 메세지 잘들어옵니다
--------------------------
[Homepc.11q.kr] [21.PC_1] 게시판에 https://11q.kr/g5s/bbs/board.php?bo_table=s21&wr_id=4232
에로 &wr_id=4232 로 만들어져
해당글로 링크 변경이 되었으면 합니다
참고로 상기 링크는 제가 삽질한것 정리 성공설치기 입니다.
....제작자님 감사 합니다....
예전에는 한방에 되었는데 ....

설치까지 다 마쳤는데 아무 반응이 없네요. 이런 ....
요근래 해 보신분 잘 되시나요? autoset9 이여서 그런건가요?
웹호스팅도 마찬 가지네요. 뭐가 바뀐건가요???
다른 설정을 해 줘야 하는건지 ..... 댓번 해봐도 그대로네요. 이런 ....
회원가입 쪽에 두어번 날아온거 말고는 제대로 작동이 안되네요. 아~
전체 503
그누보드5 플러그인 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT