From dd8923cd7f198c9ede2d6cab210e85b6579d91b2 Mon Sep 17 00:00:00 2001 From: levlam Date: Sun, 12 Jul 2026 00:14:02 +0300 Subject: Add editEphemeralMessageText. --- telegram-bot-api/Client.cpp | 25 +++++++++++++++++++++++++ telegram-bot-api/Client.h | 1 + 2 files changed, 26 insertions(+) diff --git a/telegram-bot-api/Client.cpp b/telegram-bot-api/Client.cpp index d83a5a6..82dd4ce 100644 --- a/telegram-bot-api/Client.cpp +++ b/telegram-bot-api/Client.cpp @@ -269,6 +269,7 @@ bool Client::init_methods() { methods_.emplace("editmessagecaption", &Client::process_edit_message_caption_query); 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("deletemessage", &Client::process_delete_message_query); methods_.emplace("deletemessages", &Client::process_delete_messages_query); methods_.emplace("deleteephemeralmessage", &Client::process_delete_ephemeral_message_query); @@ -14819,6 +14820,30 @@ td::Status Client::process_edit_message_reply_markup_query(PromisedQueryPtr &que return td::Status::OK(); } +td::Status Client::process_edit_ephemeral_message_text_query(PromisedQueryPtr &query) { + TRY_RESULT(input_message_text, get_input_message_text(query.get())); + 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_)); + + 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 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( + chat_id, receiver_user_id, ephemeral_message_id, std::move(reply_markup), + std::move(input_message_text)), + td::make_unique(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 5188d19..ef1d759 100644 --- a/telegram-bot-api/Client.h +++ b/telegram-bot-api/Client.h @@ -887,6 +887,7 @@ class Client final : public WebhookActor::Callback { td::Status process_edit_message_caption_query(PromisedQueryPtr &query); 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_delete_message_query(PromisedQueryPtr &query); td::Status process_delete_messages_query(PromisedQueryPtr &query); td::Status process_delete_ephemeral_message_query(PromisedQueryPtr &query); -- cgit v1.2.3