diff --git a/Telegram/SourceFiles/info/profile/info_profile_actions.cpp b/Telegram/SourceFiles/info/profile/info_profile_actions.cpp index c843d4e7b..1206ce486 100644 --- a/Telegram/SourceFiles/info/profile/info_profile_actions.cpp +++ b/Telegram/SourceFiles/info/profile/info_profile_actions.cpp @@ -630,8 +630,12 @@ void ActionsFiller::addBlockAction(not_null user) { } else if (user->isBot()) { user->session().api().blockPeer(user); } else { - window->show( - Box(Window::PeerMenuBlockUserBox, window, user, v::null, v::null)); + window->show(Box( + Window::PeerMenuBlockUserBox, + window, + user, + v::null, + v::null)); } }; AddActionButton( diff --git a/Telegram/SourceFiles/window/window_peer_menu.cpp b/Telegram/SourceFiles/window/window_peer_menu.cpp index 9cd84a77a..0ed971053 100644 --- a/Telegram/SourceFiles/window/window_peer_menu.cpp +++ b/Telegram/SourceFiles/window/window_peer_menu.cpp @@ -437,7 +437,12 @@ void Filler::addBlockUser(not_null user) { } else if (user->isBot()) { user->session().api().blockPeer(user); } else { - window->show(Box(PeerMenuBlockUserBox, window, user, v::null, v::null)); + window->show(Box( + PeerMenuBlockUserBox, + window, + user, + v::null, + v::null)); } }); @@ -915,9 +920,33 @@ void PeerMenuBlockUserBox( peer->session().api().blockPeer(peer); if (reportChecked) { - peer->session().api().request(MTPmessages_ReportSpam( - peer->input - )).send(); + if (const auto ids = std::get_if(&suggestClear)) { + Assert(!ids->empty()); + const auto itemsPeer = [&]() -> PeerData* { + for (const auto &itemId : *ids) { + if (const auto item = peer->owner().message(itemId)) { + return item->history()->peer; + } + } + return nullptr; + }(); + if (itemsPeer) { + auto items = QVector(); + items.reserve(ids->size()); + for (const auto &itemId : *ids) { + items.push_back(MTP_int(itemId.msg)); + } + peer->session().api().request(MTPmessages_Report( + itemsPeer->input, + MTP_vector(items), + MTP_inputReportReasonSpam() + )).send(); + } + } else { + peer->session().api().request(MTPmessages_ReportSpam( + peer->input + )).send(); + } } if (clearChecked) { if (const auto ids = std::get_if(&suggestClear)) {