2017-05-23 11 views
0

私は電文ボットをPHPで開発しようとしていますが、インラインボタンを押したときにボットに応答することができませんでした。 answerCallbackメソッドを呼び出した後に誰かがメッセージを送信するのを手助けできますか(sendMessageメソッド)?PHPテレグラムアンサーコールバッククエリーsendmessage

ここに私の最後のトライアルコードです:彼は答えていますので、私は、$call_back_from代わりの$chatIdを使用する必要がsendTextで

if ($call_back_query != null) { 

    $response = $call_back_query; 
    $botUrl = "https://api.telegram.org/bot" . BOT_TOKEN . "/answerCallbackQuery"; 
    $postFields = array('callback_query_id' => $call_back_id, 'text' => $response); 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type:multipart/form-data")); 
    curl_setopt($ch, CURLOPT_URL, $botUrl); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields); 
    $output = curl_exec($ch); 

     //send Text 
    $response = "help me if you can, i'm feeling down"; 
    header("Content-Type: application/json"); 
    $parameters = array('chat_id' => $chatId, "text" => $response); 
    $parameters["method"] = "sendMessage"; 
    echo json_encode($parameters); 


    } 

はあなたに[OK]を

答えて

0

に感謝し、私は問題を理解してきましたが、コールバッククエリではなく、単純なメッセージ(私はそう思う...)

$chatId = isset($message['chat']['id']) ? $message['chat']['id'] : "";

$call_back_from = isset ($update['callback_query']['from']['id']) ? $update['callback_query']['from']['id'] : "";

コードは、これが役に立つことができ

if ($call_back_query != null) { 

    $response = $call_back_query; 
    $botUrl = "https://api.telegram.org/bot" . BOT_TOKEN . "/answerCallbackQuery"; 
    $postFields = array('callback_query_id' => $call_back_id, 'text' => $response); 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type:multipart/form-data")); 
    curl_setopt($ch, CURLOPT_URL, $botUrl); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields); 
    $output = curl_exec($ch); 

     //send Text 
    $response = "help me if you can, i'm feeling down"; 
    header("Content-Type: application/json"); 
    $parameters = array('chat_id' => $call_back_from, "text" => $response); 
    $parameters["method"] = "sendMessage"; 
    echo json_encode($parameters); 


    } 

希望になります! 素敵な試着をしてください!

関連する問題