qa게시판 텔레그램 연동 질문드립니다.

qa게시판 텔레그램 연동 질문드립니다.

QA

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 내용을 만드시면 됩니다.

 

엑스엠알님 답변 감사드립니다.^^
적어주신대로 해보니 $member['mb_nick'] / $qa_subject 이 변수들은 아직 공백으로 출력됩니다만..
qawrite_update.php에서 어느 변수를 참고해야 할까요?
$qa_nick 이라든가 다 넣어봐도 출력이 안되네요.

$sql = " insert into {$g5['qa_content_table']}
                set qa_num          = '$qa_num',
                    mb_id          = '{$member['mb_id']}',
                    qa_name        = '".addslashes($member['mb_nick'])."',
                    qa_email        = '$qa_email',
                    qa_hp          = '$qa_hp',
                    qa_type        = '$qa_type',
                    qa_parent      = '$qa_parent',
                    qa_related      = '$qa_related',
                    qa_category    = '$qa_category',
                    qa_email_recv  = '$qa_email_recv',
                    qa_sms_recv    = '$qa_sms_recv',
                    qa_html        = '$qa_html',
                    qa_subject      = '$qa_subject',
                    qa_content      = '$qa_content',
                    qa_status      = '$qa_status',
                    qa_file1        = '{$insert_qa_file1}',
                    qa_source1      = '{$insert_qa_source1}',
                    qa_file2        = '{$insert_qa_file2}',
                    qa_source2      = '{$insert_qa_source2}',
                    qa_ip          = '{$_SERVER['REMOTE_ADDR']}',
                    qa_datetime    = '".G5_TIME_YMDHIS."',
                    qa_1            = '$qa_1',
                    qa_2            = '$qa_2',
                    qa_3            = '$qa_3',
                    qa_4            = '$qa_4',
                    qa_5            = '$qa_5' ";
    sql_query($sql);

이 sql에 사용된 변수들을 검토해 보세요.

답변을 작성하시기 전에 로그인 해주세요.
전체 54
QA 내용 검색

회원로그인

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