Telegram-Bot answerInlineQuery没有messageID作为结果

时间:2018-01-03 20:24:04

标签: php telegram-bot messageid

使用下面的代码片段将InlineQuery发送到Telegram中的聊天(或频道或群组)作为来自其他聊天的“分享”按钮的回答 - 它似乎运作良好......

我的内联机器人会创建一条消息并将其放入目标聊天中。

问题是:我没有收到消息ID或类似的背面,这样我就可以再次访问此消息,以便能够修改它。

(目标是在多个频道之间同步内容,即使没有机器人是频道的一部分,内容已经通过“分享” - 在线按钮共享)。

即。以下示例中的$ res是$ res = {“ok”:true,“result”:true}

任何想法,可以做些什么?!

谢谢!

$botID = 'botabcdefghij1234567890';
$url = "https://api.telegram.org/$botID/answerInlineQuery";

$results = array(
    array(
        "type" => "article",
        "id" => $iid,
        "title" => $title,
        "description" => $desc,    
        "reply_markup" => $reply,  // some buttons here
        "input_message_content" => array(
            "message_text" => "$txt",   // synchronized text
            "parse_mode" => "HTML"
        )
    )
);

$post = array("inline_query_id" => $iid, "results" => json_encode($results));
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$res = curl_exec($ch);
curl_close($ch);

1 个答案:

答案 0 :(得分:0)

您可以在一个内联查询中发送多个答案,因此请在@BotFather中启用/setinlinefeedback以接收邮件ID。

它将返回chosen_inline_result更新,然后使用inline_message_id修改邮件。