add support for updateChosenInlineResult

This commit is contained in:
Slavasil 2024-10-18 22:31:05 +03:00
parent e8c7115264
commit 14c15fca85
3 changed files with 22 additions and 0 deletions

View File

@ -164,6 +164,24 @@ void cmd::handle_callback_query(context *ctx, td_api::updateNewInlineCallbackQue
}
}
void cmd::handle_chosen_inline_result(context *ctx, td_api::updateNewChosenInlineResult &result) {
shorten_link(result.query_, ctx, [ctx, inlineMessageId = result.inline_message_id_](std::string url){
ctx->tg->send_query(td_api::make_object<td_api::editInlineMessageText>(
inlineMessageId,
nullptr, // reply_markup
static_cast<td_api::object_ptr<td_api::InputMessageContent>>(td_api::make_object<td_api::inputMessageText>(
td_api::make_object<td_api::formattedText>(
url,
std::move(std::vector<td_api::object_ptr<td_api::textEntity>>())
),
td_api::make_object<td_api::linkPreviewOptions>(true, "", false, false, false),
//nullptr,
false
))
), {});
});
}
bool cmd::shorten_link(std::string link, context *ctx, std::function<void(std::string)> cb) {
spdlog::debug("creating CURL request");
CURL *req = curl_easy_init();

View File

@ -8,6 +8,7 @@ namespace cmd {
void handle_regular_message(context *ctx, td_api::message &msg);
void handle_inline_query(context *ctx, td_api::updateNewInlineQuery &query);
void handle_callback_query(context *ctx, td_api::updateNewInlineCallbackQuery &query);
void handle_chosen_inline_result(context *ctx, td_api::updateNewChosenInlineResult &result);
bool shorten_link(std::string link, context *ctx, std::function<void(std::string)> cb);
uint64_t new_pending_query_id();

View File

@ -142,6 +142,9 @@ void async_startup(uv_idle_t *h) {
[ctx](td_api::updateNewInlineCallbackQuery &upd) {
cmd::handle_callback_query(ctx, upd);
},
[ctx](td_api::updateNewChosenInlineResult &upd) {
cmd::handle_chosen_inline_result(ctx, upd);
},
[](td_api::Object &obj){}
));
}, nullptr);