2

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

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

问题是:我没有得到消息 ID 或类似的回复,这使我可以再次访问此消息以便能够对其进行修改。

(目标是在多个频道之间同步内容,即使频道中没有机器人并且内容已通过“共享”-inline-buttons 共享)。

即下面示例中的 $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);
4

1 回答 1

1

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

它将返回selected_inline_result更新,然后用于inline_message_id修改消息。

于 2018-01-03T22:47:22.267 回答