应答回调查询后电报机器人php内联按钮继续加载

应答回调查询后电报机器人php内联按钮继续加载,php,telegram-bot,Php,Telegram Bot,我有这个代码工作正常 我获取回调数据,并用消息响应用户 问题是,即使在响应发送给用户之后,inline按钮也会持续显示加载循环几秒钟。 这可能是一只虫子吗?还是我做错了什么 elseif ($update && isset($update["callback_query"])) { //file_put_contents('php://stderr', print_r($output , TRUE)); $ca

我有这个代码工作正常 我获取回调数据,并用消息响应用户 问题是,即使在响应发送给用户之后,inline按钮也会持续显示加载循环几秒钟。 这可能是一只虫子吗?还是我做错了什么

        elseif ($update && isset($update["callback_query"]))
    {

      //file_put_contents('php://stderr', print_r($output , TRUE));
      $callback_query = isset($update['callback_query']) ? $update['callback_query'] : "";
      $chat_id = $update["callback_query"]['message']['chat']['id'];
      $data = $update["callback_query"]["data"];
      $callbackQueryID = $update["callback_query"]['id'];
      $this->answerCallbackQuery($callbackQueryID);

      switch($data){
        case 'someString':
        $this->sendMessage([
            'chat_id' => $chat_id,
            'text' => 'string one was called'
        ]);
        break;
        case 'someString2':
        $this->sendMessage([
            'chat_id' => $chat_id,
            'text' => 'stiring 2 was called '
        ]);
        break;
      }

    } // ======= END ELSEIF CALLBACKQUERY

我也有同样的问题。在一些论坛和电报文档中搜索后,我找到了解决方案。 您必须使用此函数调用。 您必须在执行与按钮关联的代码后调用此方法

我就是这样使用这个函数的

$webSite = 'https://api.telegram.org/bot'.$botToken;
function answerCallbackQuery($callbackId){
    $url = $GLOBALS['webSite']."/answerCallbackQuery?callback_query_id=$callbackId";

    file_get_contents($url);
}
在本例中,我只像params一样传递callbackQueryId,因为我不想回复按钮,只想删除加载图标

我希望这能帮助你解决你的问题