2016-12-28 1 views
0

Ich bin Inline-Funktion zu meinem Bot hinzufügen. Ich benutze nur PHP. Ich schrieb dieses und es scheint gut zu mir:PHP Telegram Bot AntwortInlineQuery funktioniert nicht

$content = file_get_contents("php://input"); 

$update = json_decode($content, true); 

$inlineQuery = isset($update["inline_query"]) ? $update["inline_query"] : ""; 


if ($inlineQuery["query"] !== "") { 
    $queryId = $inlineQuery["id"]; 
    $collection = array(
      "type" => "article", 
      "id" => $queryId, 
      "title" => "prov", 
      "input_message_content" => array("message_text" => "ciao") , 
     ); 

    $parameters = array(
    "inline_query_id" => $queryId, 
    "results" => $collection, 
    ); 

    $parameters["method"] = "answerInlineQuery"; 

} 

echo json_encode($parameters); 

ich diesen Fehler:

{"ok":false,"error_code":400,"description":"Bad Request: QUERY_ID_INVALID"} 

Was habe ich in id setzen? Danke

+0

Können Sie das Ergebnis von 'var_dump ($ queryId);'? – Hackerman

+0

string (18) "114300560489130387" – iAndrew

+0

dies ist die json {"inline_query_id": "114300560489130387", "ergebnisse": {"type": "artikel", "id": "114300560489130387", "titel": "prov" , "input_message_content": {"message_text": "ciao"}}, "methode": "answerInlineQuery"} – iAndrew

Antwort

1

Dieser Fehler tritt normalerweise auf, weil Sie die Anfrage länger als 7-8 Sekunden beantworten, nachdem Benutzer etwas zu Ihrem Inline-Bot eingegeben haben. Versuchen Sie, weniger als 3 Sekunden zu beantworten

+1

Bitte erweitern Sie Ihre Antwort. Wie kann das OP sicherstellen, dass seine Antwort in weniger als 3 Sekunden gesendet wird? Wie sollte er seinen Code bearbeiten? Was du jetzt gepostet hast, ist keine Antwort wert, es ist bestenfalls ein Kommentar. – Luuklag