@@ -248,6 +248,7 @@ bool Client::init_methods() {
248248 methods_.emplace("stopmessagelivelocation", &Client::process_edit_message_live_location_query);
249249 methods_.emplace("editmessagemedia", &Client::process_edit_message_media_query);
250250 methods_.emplace("editmessagecaption", &Client::process_edit_message_caption_query);
251+ methods_.emplace("editmessagechecklist", &Client::process_edit_message_checklist_query);
251252 methods_.emplace("editmessagereplymarkup", &Client::process_edit_message_reply_markup_query);
252253 methods_.emplace("deletemessage", &Client::process_delete_message_query);
253254 methods_.emplace("deletemessages", &Client::process_delete_messages_query);
@@ -12343,6 +12344,42 @@ td::Status Client::process_edit_message_caption_query(PromisedQueryPtr &query) {
1234312344 return td::Status::OK();
1234412345}
1234512346
12347+ td::Status Client::process_edit_message_checklist_query(PromisedQueryPtr &query) {
12348+ auto business_connection_id = query->arg("business_connection_id");
12349+ auto chat_id = query->arg("chat_id");
12350+ auto message_id = get_message_id(query.get());
12351+ TRY_RESULT(reply_markup, get_reply_markup(query.get(), bot_user_ids_));
12352+ TRY_RESULT(input_checklist, get_input_checklist(query.get(), "checklist"));
12353+
12354+ resolve_reply_markup_bot_usernames(
12355+ std::move(reply_markup), std::move(query),
12356+ [this, business_connection_id = business_connection_id.str(), chat_id_str = chat_id.str(), message_id,
12357+ input_checklist = std::move(input_checklist)](object_ptr<td_api::ReplyMarkup> reply_markup,
12358+ PromisedQueryPtr query) mutable {
12359+ if (!business_connection_id.empty()) {
12360+ return check_business_connection_chat_id(
12361+ business_connection_id, chat_id_str, std::move(query),
12362+ [this, message_id, reply_markup = std::move(reply_markup), input_checklist = std::move(input_checklist)](
12363+ const BusinessConnection *business_connection, int64 chat_id, PromisedQueryPtr query) mutable {
12364+ send_request(make_object<td_api::editBusinessMessageChecklist>(business_connection->id_, chat_id,
12365+ message_id, std::move(reply_markup),
12366+ std::move(input_checklist)),
12367+ td::make_unique<TdOnReturnBusinessMessageCallback>(this, business_connection->id_,
12368+ std::move(query)));
12369+ });
12370+ }
12371+
12372+ check_message(chat_id_str, message_id, false, AccessRights::Edit, "message to edit", std::move(query),
12373+ [this, reply_markup = std::move(reply_markup), input_checklist = std::move(input_checklist)](
12374+ int64 chat_id, int64 message_id, PromisedQueryPtr query) mutable {
12375+ send_request(make_object<td_api::editMessageChecklist>(
12376+ chat_id, message_id, std::move(reply_markup), std::move(input_checklist)),
12377+ td::make_unique<TdOnEditMessageCallback>(this, std::move(query)));
12378+ });
12379+ });
12380+ return td::Status::OK();
12381+ }
12382+
1234612383td::Status Client::process_edit_message_reply_markup_query(PromisedQueryPtr &query) {
1234712384 auto business_connection_id = query->arg("business_connection_id");
1234812385 auto chat_id = query->arg("chat_id");
0 commit comments