[그누위즈]텔레그램 푸쉬 플러그인 > 그누보드5 추가

본문 바로가기
  • 맑음
  • 경기도 (23.0'C)
  • 2024.05.02 (목)
사이트 내 전체검색

그누보드5 추가

[그누위즈]텔레그램 푸쉬 플러그인

페이지 정보

profile_image
작성자 neue
댓글 1건 조회 975회 작성일 22-11-17 14:34

본문

그누위즈2018.03.15 18:01:34조회 9,788댓글 36



텔레그램의 채팅 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 값을 넣습니다.
[code]
<?php
/* telegram_class.php */
 
class telegram_msg {
   
    private $chat_id = '427588447'; // id 값
    private $bot_token = '541841220:AAGrqV3dJpLX98utPtn2XFzEgZ_lHXaVIYo'; // token 값
 
    public function __construct() {
 
    }
...................
?>
[/code]
위와 같이 값을 넣었다면 이제 텔레그램 푸쉬를 사용 할 준비가 되었습니다.
마지막으로 그누보드의 특정 실행 구간에 해당 클래스를 실행 할 소스를 추가해야합니다.

 

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

 

1.회원가입시 알림

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

해당 소스를 붙혀넣습니다.
[code]
<?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();
?>
[/code]
2.게시글 작성시 알림

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

해당 소스를 붙혀넣습니다.
[code]
<?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();
?>
[/code]

3.쪽지 전송시 알림

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

해당 소스를 붙혀넣습니다.
[code]
<?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();
 
?>
[/code]

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

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

bed439a7a9fce77487bab5760f096e99_1521104383_3446.png

 

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

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

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

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

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

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

첨부파일

댓글목록

profile_image

neue님의 댓글

neue 작성일

wr_id 안나오는게 길어서 그런건가 싶음
아래처럼 주소 줄이면 잘나옴

//$telegram_msg = '['.$config['cf_title'].'] ['.$board['bo_subject'].'] 게시판에 '.$wr_name.'님의 '.$str.'글이 올라왔습니다. '.G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id;
$telegram_msg = '['.$config['cf_title'].'] ['.$board['bo_subject'].'] 게시판에 '.$wr_name.'님의 '.$str.'글이 올라왔습니다. '.G5_URL.'/'.$bo_table.'/'.$wr_id;

회원로그인

회원가입

사이트 정보

회사명 : 회사명 / 대표 : 대표자명
주소 : OO도 OO시 OO구 OO동 123-45
사업자 등록번호 : 123-45-67890
전화 : 02-123-4567 팩스 : 02-123-4568
통신판매업신고번호 : 제 OO구 - 123호
개인정보관리책임자 : 정보책임자명

공지사항

  • 게시물이 없습니다.

접속자집계

오늘
774
어제
1,493
최대
3,311
전체
138,840
Copyright © 소유하신 도메인. All rights reserved.

    상담 안내
  • 123.4567.8900
    평일 오전 10시 ~ 오후 6시
    점심시간 : 오후 12시 ~ 오후 1시 30분