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.

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]