电报内联机器人没有显示任何内联

时间:2016-06-13 12:02:53

标签: php telegram telegram-bot

我正在尝试使用php创建一个用于电报的内联机器人。我跟随了BotFather的步骤。我创建了机器人,获取了令牌,setinline并设置了占位符消息。我已经设置了webhook并且它正在工作。但是当我在消息中键入机器人时,我什么也得不到,如果我发送消息,那么什么都不会发生。 webhook正在运行,我已尝试使用普通消息。

这是我的代码,过了一段时间我只是放弃并从博客中获取它,编辑了一下。

$content = file_get_contents("php://input");
$update = json_decode($content, true);

$chatID = $update["message"]["chat"]["id"];
//sendMessage(print_r($update,true), $chatID);

if (isset($update["inline_query"])) {
    $inlineQuery = $update["inline_query"];
    $queryId = $inlineQuery["id"];
    $queryText = $inlineQuery["query"];

if (isset($queryText) && $queryText !== "") {
  apiRequestJson("answerInlineQuery", [
    "inline_query_id" => $queryId,
    "results" => ($queryText),
    "cache_time" => 86400,
  ]);
} 
else {
      apiRequestJson("answerInlineQuery", [
        "inline_query_id" => $queryId,
        "results" => [
          [
            "type" => "article",
            "id" => "0",
            "title" => "TEST",
            "message_text" => "TEST",
          ],  
        ]
      ]);
     }
    }

机器人仍然没有给我看。 我想我刚跳过一步。

1 个答案:

答案 0 :(得分:2)

结果需要在message_text中包含密钥input_message_content。因此,结果可能如下所示:

$results = array(
    array(
        "type" => "article", 
        "id" => "1", 
        "title" => "Title", 
        "description" => "Description", 
        "input_message_content" => array(
            "message_text" => "<code>Message 1</code>", 
            "parse_mode" => "HTML"
        )
    )
);

$postData = array(
    "inline_query_id" => $inlineQuery["id"], 
    "results" => json_encode($results), 
    "cache_time" => 0
);