diff options
| author | levlam <levlam@telegram.org> | 2026-07-12 00:17:57 +0300 |
|---|---|---|
| committer | levlam <levlam@telegram.org> | 2026-07-12 00:17:57 +0300 |
| commit | 40f573f6967f34e2dfd28f85f7dd18293119bbab (patch) | |
| tree | c07f55e225a05600c5b4fb29dcea80f5fa380dee | |
| parent | dd8923cd7f198c9ede2d6cab210e85b6579d91b2 (diff) | |
Add editEphemeralMessageCaption.
| -rw-r--r-- | telegram-bot-api/Client.cpp | 26 | ||||
| -rw-r--r-- | telegram-bot-api/Client.h | 1 |
2 files changed, 27 insertions, 0 deletions
diff --git a/telegram-bot-api/Client.cpp b/telegram-bot-api/Client.cpp index 82dd4ce..c92f1e0 100644 --- a/telegram-bot-api/Client.cpp +++ b/telegram-bot-api/Client.cpp @@ -270,6 +270,7 @@ bool Client::init_methods() { methods_.emplace("editmessagechecklist", &Client::process_edit_message_checklist_query); methods_.emplace("editmessagereplymarkup", &Client::process_edit_message_reply_markup_query); methods_.emplace("editephemeralmessagetext", &Client::process_edit_ephemeral_message_text_query); + methods_.emplace("editephemeralmessagecaption", &Client::process_edit_ephemeral_message_caption_query); methods_.emplace("deletemessage", &Client::process_delete_message_query); methods_.emplace("deletemessages", &Client::process_delete_messages_query); methods_.emplace("deleteephemeralmessage", &Client::process_delete_ephemeral_message_query); @@ -14844,6 +14845,31 @@ td::Status Client::process_edit_ephemeral_message_text_query(PromisedQueryPtr &q return td::Status::OK(); } +td::Status Client::process_edit_ephemeral_message_caption_query(PromisedQueryPtr &query) { + auto chat_id = query->arg("chat_id"); + TRY_RESULT(receiver_user_id, get_user_id(query.get(), "receiver_user_id")); + auto ephemeral_message_id = get_integer_arg(query.get(), "ephemeral_message_id", 0); + TRY_RESULT(reply_markup, get_reply_markup(query.get(), bot_user_ids_)); + TRY_RESULT(caption, get_caption(query.get())); + auto input_message_text = make_object<td_api::inputMessageText>(std::move(caption), nullptr, false); + + resolve_reply_markup_bot_usernames( + std::move(reply_markup), std::move(query), + [this, chat_id_str = chat_id.str(), receiver_user_id, ephemeral_message_id, + input_message_text = std::move(input_message_text)](object_ptr<td_api::ReplyMarkup> reply_markup, + PromisedQueryPtr query) mutable { + check_chat(chat_id_str, AccessRights::Edit, std::move(query), + [this, receiver_user_id, ephemeral_message_id, input_message_text = std::move(input_message_text), + reply_markup = std::move(reply_markup)](int64 chat_id, PromisedQueryPtr query) mutable { + send_request(make_object<td_api::editEphemeralMessage>( + chat_id, receiver_user_id, ephemeral_message_id, std::move(reply_markup), + std::move(input_message_text)), + td::make_unique<TdOnOkQueryCallback>(std::move(query))); + }); + }); + return td::Status::OK(); +} + td::Status Client::process_delete_message_query(PromisedQueryPtr &query) { auto chat_id = query->arg("chat_id"); auto message_id = get_message_id(query.get()); diff --git a/telegram-bot-api/Client.h b/telegram-bot-api/Client.h index ef1d759..68751de 100644 --- a/telegram-bot-api/Client.h +++ b/telegram-bot-api/Client.h @@ -888,6 +888,7 @@ class Client final : public WebhookActor::Callback { td::Status process_edit_message_checklist_query(PromisedQueryPtr &query); td::Status process_edit_message_reply_markup_query(PromisedQueryPtr &query); td::Status process_edit_ephemeral_message_text_query(PromisedQueryPtr &query); + td::Status process_edit_ephemeral_message_caption_query(PromisedQueryPtr &query); td::Status process_delete_message_query(PromisedQueryPtr &query); td::Status process_delete_messages_query(PromisedQueryPtr &query); td::Status process_delete_ephemeral_message_query(PromisedQueryPtr &query); |
