Telegram Inline Bot ничего не показывает в строке

Я пытаюсь создать встроенного бота для телеграммы с php. Я выполнил шаги с BotFather. Я создал бота, взял токен, установил строку и установил сообщение-заполнитель. Я установил вебхук, и он работает. Но когда я набираю бота в сообщении, я ничего не получаю, и если я отправлю сообщение, просто ничего не произойдет. Вебхук работает, пробовал с обычными сообщениями.

Это мой код, через некоторое время я просто сдаюсь и беру его из блога, немного отредактировал.

$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",
          ],  
        ]
      ]);
     }
    }

Бот по-прежнему ничего мне не показывает. Кажется, я просто пропустил шаг.


person Giorgio Catenacci    schedule 13.06.2016    source источник
comment
Что Bot API отвечает вам?   -  person ihoru    schedule 13.06.2016
comment
@ихору ничего. Мне ничего не дает.   -  person Giorgio Catenacci    schedule 14.06.2016


Ответы (1)


В результатах должен быть ключ 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
);
person Maak    schedule 13.06.2016
comment
спасибо, m8, теперь, когда встроенный работает, это было мне полезно. Но мне нужно отправить еще и тег parse_mod, и если я напишу: "input_message_content" => array(["message_text" => "Messages Text", "parse_mode"=>"HTML"]) Ничего не работает снова... - person Giorgio Catenacci; 23.06.2016
comment
Возможно, вам просто нужно избавиться от лишних [ ] в input_message_content. Я отредактировал свой ответ с рабочим примером. - person Maak; 23.06.2016