2016-07-06 7 views
0

電報インラインボットにメッセージを送信し、それは私にアップデートを提供しますが、私はこのようなテキスト送りたいInlineQueryResultどのように私は私のウェブフックを設定している

phpで送信する方法がわからないします

aaaaaaaaaaabbbbbbbbbcccccc 

どうすればphp curlで送信できますか?

$token = 'bot###'; 
$chat_id = '###'; 

$keyboardl = ['inline_keyboard' => [[['text' => "one", 'callback_data' => "1"],['text' => "two", 'callback_data' => "2"]]]]; 

$data = array("chat_id" => $chat_id,"results" => "??????","reply_markup" => $keyboardl); 

$data_string = json_encode($data);                     
$ch = curl_init('https://api.telegram.org/'.$token.'/answerinlinequery'); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                  
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                  
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                   
    'Content-Type: application/json',                     
    'Content-Length: ' . strlen($data_string))                  
);                             
$result = curl_exec($ch); 
echo $result; 

} 

を私はテキストを送信するために使用する必要がどのInlineQueryResult知らない:これは私がcurrentryしようとしていますものです。

+0

問題は何ですか? –

+0

@MarcosPérezGude:answerinlinequeryで回答を送る方法 –

+0

あなたのコードの問題は何ですか? –

答えて

6

InlineQueryでテキストを送信するには、InlineQueryResultArticle(doc)を使用する必要があります。したがって、タイプをarticleに設定してください。
chat_idは、現在のアクティブチャットでデータが自動的に送信されるため、設定する必要はありません。これはinline_query_idで確認され、InlineQueryで受け取ったidに対応します。

$results = array(); 

$entry = array(
    "type" => "article", 
    "id" => "1", 
    "title" => "Title", 
    "description" => "Description", 
    "input_message_content" => array("message_text" => "Text to be sent") 
); 

array_push($results, $entry); 

$post = array(
    "inline_query_id" => $queryId, 
    "results" => json_encode($results) 
); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,"https://api.telegram.org/bot" . $token . "/answerInlineQuery"); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 
$content = curl_exec ($ch); 
curl_close ($ch); 
+0

私は質問があります: 'inline_query_id'値は何にするべきですか? [Tg Bot Doc](https://core.telegram.org/bots/api#answerinlinequery)でこれ以上の説明が見つかりませんでした。 –

+1

これは他の 'InlineQuery'情報と共に受け取る' id'です。 [(InlineQuery)](https://core.telegram.org/bots/api#inlinequery)。あなたはそれを戻す必要があります。 – Maak

+0

ありがとうございます+ 1。実際、このタイプのインラインメッセージングについては私は考えていません。私はインラインキーボードを備えたボットを持っていて、あなたのコードを私のキーの一つに追加し、電文から '' ok '= "true" '応答を得ますが、私の電信アプリでは何の変化も起こりません。私のTGアピで何を期待するべきですか? –

関連する問題