我正在研究电报中的内联机器人,以便回复一些命令。
我成功制作了机器人,它显示了我之前使用以下代码预先输入mySQL数据库的选项。
if (isset($update["inline_query"])) {
$inlineQuery = $update["inline_query"];
$queryId = $inlineQuery["id"];
$queryText = $inlineQuery["query"];
$filtered = array_filter($results_empty, function($v) { return (stripos($v['title'], $queryText) !== FALSE); });
$postData2 = array(
"inline_query_id" => $inlineQuery["id"],
"results" => json_encode($filtered),
"cache_time" => 0
);
if (isset($queryText) && $queryText !== "") {
apiRequestJson("answerInlineQuery", [
"inline_query_id" => $queryId,
"results" => $postData2["results"]
]);
}
else {
apiRequestJson("answerInlineQuery", [
"inline_query_id" => $queryId,
"results" => $postData["results"]
]);
}
}
然而,当$ querytext为空(if (isset($queryText) && $queryText !== ""
)时,默认情况下,当没有输入任何文本时,$postData["results"]
的所有选项都显示出来。
当我输入一些查询(if (isset($update["inline_query"]))
)时,$postData2["results"]
没有显示任何内容。
我确认上面的$filtered
实际上有效,因此$postData2
有效。
有人可以帮忙解决这个问题吗?