0

我在 Telegram 中的 PHP 中创建了一个机器人,其中有 2 个内联按钮。我收到了正确的点击,但是在我如何发回另一条消息之后?使用下面的代码,我可以发送一条消息,但在这种情况下它不起作用。

$content = file_get_contents("php://input");
$update = json_decode($content, true);
if(!$update) {
  exit;
}

header("Content-Type: application/json");
$chatId = isset($message['chat']['id']) ? $message['chat']['id'] : "";
$callback_query = isset($update['callback_query']) ? $update['callback_query'] : "";
if($callback_query["data"]=='1'){
    $parameters = array('chat_id' => $chatId, "text" => '1');
    $parameters["method"] = "sendMessage"; 
    echo json_encode($parameters);
    exit; 
} 
4

2 回答 2

1

您必须调用answerCallbackQuery方法!

请注意Telegram Bot API的这一部分:

注意:用户按下内联按钮后,Telegram 客户端将显示一个进度条,直到您调用 answerCallbackQuery。因此,即使不需要通知用户(例如,不指定任何可选参数),也有必要通过调用 answerCallbackQuery 做出反应。

于 2017-06-30T00:24:19.183 回答
0

最简单的方法是:

$sendto =API_URL."sendmessage?chat_id=".$parameters['chatID']."&text=".urlencode("Your message");
file_get_contents($sendto);
于 2016-12-17T09:55:53.053 回答