2016-06-13 7 views
1

저는 전보를위한 인라인 봇을 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", 
      ], 
     ] 
     ]); 
    } 
    } 

봇은 여전히 ​​나에게 아무것도 표시하지 않습니다. 나는 방금 단계를 건너 뛰었다라고 생각한다.

+0

봇 API는 어떤 점에 응답합니까? – ihoru

+0

@ihoru nothing. 나에게 아무것도주지 마라. –

답변

2

결과에 이 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 
); 
+0

감사합니다 m8, 인라인 작동이 이제는 나에게 도움이되었다. 하지만 나는'parse_mod' 태그를 보내야합니다. 만약 내가 쓰는다면 : ''input_message_content "=> 배열 (["message_text "=>"메시지 텍스트 ","parse_mode "=>"HTML "])' 아무것도 작동하지 않습니다. 다시 ... –

+0

'input_message_content'에서 여분의'[]'를 제거하면됩니다. 나는 실례로 나의 대답을 편집했다. – Maak

관련 문제