티스토리 뷰

반응형

주의할 함수.

json_decode, url_encode

 

텔레그램이 정상적으로 보낸건지 체크를 좀 간략히 하면

아래에서 에러일때 값 없거나

if (curl_error($ch)) return;

이걸로 curl 에러면 빈값 리턴

결과는 있는데

{"ok":false,"error_code":400,"description":"Bad Request: chat not found"}

이거처럼 ok 값이 false 인 경우

else {
        $api_res = json_decode($exec);
        if ($api_res->ok) {
            return 'ok';
        }
        else return ;

    }

이렇게 결과에서 ok 값 있으면 ok로 

아니면 빈값 리턴.

function send_telegram($text){  
    global $config;
    if (!$config['cf_1'] || !$config['cf_1_subj'] || !$text) return ;//토큰값과 채널값이 없다면 돌려보내라.    
    $ch = curl_init();
    $token = $config['cf_1_subj'];  
    $chat_id = $config['cf_1'];
    $curl_url = "https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&text={$text}";
   
    @curl_setopt($ch, CURLOPT_URL, $curl_url);
    @curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);    
    @curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);      
    @curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);  
    $exec = curl_exec($ch);
    if (curl_error($ch)) return;
    else {
        $api_res = json_decode($exec);
        if ($api_res->ok) {
            return 'ok';
        }
        else return ;

    }
    curl_close($ch);      
};

그누보드에서 여분필드 1을 토큰과 채팅방id 로 입력해서 사용하는 텔레그램봇 send 함수

 

 

그누보드 텔레그램

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함