Telegram-Bot answerInlineQuery нет messageID как результат

Использование приведенного ниже фрагмента кода для отправки InlineQuery в чат (или канал, или группу) в Telegram в качестве ответа на кнопку "Поделиться" из другого чата - похоже, работает хорошо...

Мой встроенный бот создает сообщение и помещает его в целевой чат.

Проблема в том, что я не получаю идентификатор сообщения или аналогичный ответ, который позволяет мне снова получить доступ к этому сообщению, чтобы иметь возможность его изменить.

(Цель состоит в том, чтобы синхронизировать контент между несколькими каналами, даже если ни один бот не является частью канала, и контент был передан через "Share"-inline-кнопки).

Т.е. $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 ответ

Вы можете отправить несколько ответов в одном встроенном запросе, поэтому, пожалуйста, включите /setinlinefeedback в @BotFather для получения сообщений ID.

Он вернет обновление selected_inline_result, затем использует inline_message_id изменить сообщение.

Другие вопросы по тегам