Add deleteMessageReaction.

main
levlam 2 months ago
parent de6f7d889d
commit cb0ee53e21

@ -268,6 +268,7 @@ bool Client::init_methods() {
methods_.emplace("editmessagereplymarkup", &Client::process_edit_message_reply_markup_query);
methods_.emplace("deletemessage", &Client::process_delete_message_query);
methods_.emplace("deletemessages", &Client::process_delete_messages_query);
methods_.emplace("deletemessagereaction", &Client::process_delete_message_reaction_query);
methods_.emplace("poststory", &Client::process_post_story_query);
methods_.emplace("repoststory", &Client::process_repost_story_query);
methods_.emplace("editstory", &Client::process_edit_story_query);
@ -13521,6 +13522,38 @@ td::Status Client::process_delete_messages_query(PromisedQueryPtr &query) {
return td::Status::OK();
}
td::Status Client::process_delete_message_reaction_query(PromisedQueryPtr &query) {
auto chat_id = query->arg("chat_id");
auto message_id = get_message_id(query.get());
int64 user_id = -1;
td::string actor_chat_id;
if (!query->arg("user_id").empty()) {
TRY_RESULT_ASSIGN(user_id, get_user_id(query.get()));
} else {
actor_chat_id = query->arg("actor_chat_id").str();
}
check_message(chat_id, message_id, false, AccessRights::Write, "message to delete reactions", std::move(query),
[this, user_id, actor_chat_id](int64 chat_id, int64 message_id, PromisedQueryPtr query) {
if (user_id >= 0) {
check_user_no_fail(
user_id, std::move(query), [this, chat_id, message_id, user_id](PromisedQueryPtr query) {
send_request(make_object<td_api::deleteMessageReactionsFromSender>(
chat_id, message_id, make_object<td_api::messageSenderUser>(user_id)),
td::make_unique<TdOnOkQueryCallback>(std::move(query)));
});
} else {
check_chat_no_fail(
actor_chat_id, std::move(query),
[this, chat_id, message_id](int64 actor_chat_id, PromisedQueryPtr query) {
send_request(make_object<td_api::deleteMessageReactionsFromSender>(
chat_id, message_id, make_object<td_api::messageSenderChat>(actor_chat_id)),
td::make_unique<TdOnOkQueryCallback>(std::move(query)));
});
}
});
return td::Status::OK();
}
td::Status Client::process_post_story_query(PromisedQueryPtr &query) {
auto business_connection_id = query->arg("business_connection_id").str();
TRY_RESULT(content, get_input_story_content(query.get()));

@ -802,6 +802,7 @@ class Client final : public WebhookActor::Callback {
td::Status process_edit_message_reply_markup_query(PromisedQueryPtr &query);
td::Status process_delete_message_query(PromisedQueryPtr &query);
td::Status process_delete_messages_query(PromisedQueryPtr &query);
td::Status process_delete_message_reaction_query(PromisedQueryPtr &query);
td::Status process_post_story_query(PromisedQueryPtr &query);
td::Status process_repost_story_query(PromisedQueryPtr &query);
td::Status process_edit_story_query(PromisedQueryPtr &query);

Loading…
Cancel
Save