qa게시판 텔레그램 연동 질문드립니다.
본문
안녕하세요.
현재 회원가입/새글/쪽지 등을 텔레그램과 연동하여 알람을 받고 있는데요.
다른 게시판에서는 새글 올라오면 [게시판명] 에 [닉네임] 변수를 받아서 잘 뿌려줍니다.
그런데 qa게시판에 새글이 올라오면 [] 에 [] 이런식으로 변수없이 공백으로 뿌려주네요..
/bbs/qawrite_update.php 하단에
// 텔레그램 PUSH 코드 실행(gnuwiz)
@include_once(G5_BBS_PATH . '/telegram_class.php');
$telegram_msg = new telegram_msg();
$res = $telegram_msg->send();
이렇게 추가하였고..
/bbs/telegram_class.php 코드는 아래와 같습니다.
<?php
class telegram_msg {
private $chat_id = ''; // id 값
private $bot_token = ''; // token 값
public function __construct() {
}
function send() {
$msg = $this->set_msg();
$headers = array();
$headers[] = 'Content-type: Application/json';
$url = 'https://api.telegram.org/bot'.$this->bot_token.'/sendMessage?chat_id='.$this->chat_id.'&text='.$msg;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_ENCODING, "");
curl_setopt($curl, CURLOPT_MAXREDIRS, 10);
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($curl);
curl_close($curl);
return $result;
}
function set_msg() {
global $config, $board, $bo_table, $w, $wr_id, $wr_name, $mb_nick, $recv_mb_nick, $qa, $qa_table;
$warr = array( ''=>'입력', 'u'=>'수정', 'r'=>'답변', 'c'=>'댓글 ', 'cu'=>'댓글 수정' );
$str = $warr[$w];
// 게시판 글작성 완료
if(stripos($_SERVER['SCRIPT_NAME'], 'write')) {
$telegram_msg = ''.$board['bo_subject'].'에 '.$wr_name.'의 '.$str.'글이 등록 됨.';
}
// 회원가입 완료
if(stripos($_SERVER['SCRIPT_NAME'], 'register')) {
$telegram_msg = '회원가입 : '.$mb_nick .'';
}
// 쪽지 전송 완료
if(stripos($_SERVER['SCRIPT_NAME'], 'memo')) {
$telegram_msg = "쪽지가 수신 됨.";
}
return $telegram_msg;
}
}
?>
/bbs/telegram_class.php 코드에 qa게시판 테이블명을 추가하여 넣으면 될거같은데 생각처럼 안되네요^^;
어떻게 해야 qa게시판에서도 정상적으로 알람을 받아 볼 수 있을까요?
!-->!-->
답변 1
qa게시판은 일반 게시판이 아니어서
if(stripos($_SERVER['SCRIPT_NAME'], 'write')) {
$telegram_msg = ''.$board['bo_subject'].'에 '.$wr_name.'의 '.$str.'글이 등록 됨.';
}
이 부분의 $board나 $wr_name은 값이 비어 있습니다.
if(stripos($_SERVER['SCRIPT_NAME'], 'write')) {
$telegram_msg = 'QA 게시판에 '.$member['mb_nick'].'의 '.$qa_subject.'글이 등록 됨.';
}
"qawrite_update.php"에서 사용하는 변수를 참고하셔서 msg 내용을 만드시면 됩니다.
답변을 작성하시기 전에 로그인 해주세요.