diff --git a/telegram-bot-api/Client.cpp b/telegram-bot-api/Client.cpp index 2398fc9..64b0e42 100644 --- a/telegram-bot-api/Client.cpp +++ b/telegram-bot-api/Client.cpp @@ -255,6 +255,7 @@ bool Client::init_methods() { methods_.emplace("deletechatstickerset", &Client::process_delete_chat_sticker_set_query); methods_.emplace("getforumtopiciconstickers", &Client::process_get_forum_topic_icon_stickers_query); methods_.emplace("createforumtopic", &Client::process_create_forum_topic_query); + methods_.emplace("editforumtopic", &Client::process_edit_forum_topic_query); methods_.emplace("getchatmember", &Client::process_get_chat_member_query); methods_.emplace("getchatadministrators", &Client::process_get_chat_administrators_query); methods_.emplace("getchatmembercount", &Client::process_get_chat_member_count_query); @@ -8165,6 +8166,20 @@ td::Status Client::process_create_forum_topic_query(PromisedQueryPtr &query) { return Status::OK(); } +td::Status Client::process_edit_forum_topic_query(PromisedQueryPtr &query) { + auto chat_id = query->arg("chat_id"); + auto message_thread_id = get_message_id(query.get(), "message_thread_id"); + auto name = query->arg("name"); + auto icon_custom_emoji_id = td::to_integer(query->arg("icon_custom_emoji_id")); + + check_chat(chat_id, AccessRights::Write, std::move(query), + [this, message_thread_id, name = name.str(), icon_custom_emoji_id](int64 chat_id, PromisedQueryPtr query) { + send_request(make_object(chat_id, message_thread_id, name, icon_custom_emoji_id), + td::make_unique(std::move(query))); + }); + return Status::OK(); +} + td::Status Client::process_get_chat_member_query(PromisedQueryPtr &query) { auto chat_id = query->arg("chat_id"); TRY_RESULT(user_id, get_user_id(query.get())); diff --git a/telegram-bot-api/Client.h b/telegram-bot-api/Client.h index b69f852..e3a1c33 100644 --- a/telegram-bot-api/Client.h +++ b/telegram-bot-api/Client.h @@ -540,6 +540,7 @@ class Client final : public WebhookActor::Callback { Status process_delete_chat_sticker_set_query(PromisedQueryPtr &query); Status process_get_forum_topic_icon_stickers_query(PromisedQueryPtr &query); Status process_create_forum_topic_query(PromisedQueryPtr &query); + Status process_edit_forum_topic_query(PromisedQueryPtr &query); Status process_get_chat_member_query(PromisedQueryPtr &query); Status process_get_chat_administrators_query(PromisedQueryPtr &query); Status process_get_chat_member_count_query(PromisedQueryPtr &query);