From 0fb383c4666396a15abec4a55dbad7aed811c78a Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Fri, 23 Aug 2024 11:20:17 +0300 Subject: [PATCH] Added ability to block bot from moderate box. --- .../boxes/moderate_messages_box.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Telegram/SourceFiles/boxes/moderate_messages_box.cpp b/Telegram/SourceFiles/boxes/moderate_messages_box.cpp index 6001b45b0..f80be8387 100644 --- a/Telegram/SourceFiles/boxes/moderate_messages_box.cpp +++ b/Telegram/SourceFiles/boxes/moderate_messages_box.cpp @@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #include "boxes/moderate_messages_box.h" +#include "api/api_blocked_peers.h" #include "api/api_chat_participants.h" #include "api/api_messages_search.h" #include "apiwrap.h" @@ -590,6 +591,20 @@ void DeleteChatBox(not_null box, not_null peer) { st::defaultBoxCheckbox)); }(); + const auto maybeBotCheckbox = [&]() -> Ui::Checkbox* { + if (!maybeUser || !maybeUser->isBot()) { + return nullptr; + } + Ui::AddSkip(container); + Ui::AddSkip(container); + return box->addRow( + object_ptr( + container, + tr::lng_profile_block_bot(tr::now, Ui::Text::WithEntities), + false, + st::defaultBoxCheckbox)); + }(); + Ui::AddSkip(container); auto buttonText = maybeUser @@ -603,7 +618,11 @@ void DeleteChatBox(not_null box, not_null peer) { const auto close = crl::guard(box, [=] { box->closeBox(); }); box->addButton(std::move(buttonText), [=] { const auto revoke = maybeCheckbox && maybeCheckbox->checked(); + const auto stopBot = maybeBotCheckbox && maybeBotCheckbox->checked(); Core::App().closeChatFromWindows(peer); + if (stopBot) { + peer->session().api().blockedPeers().block(peer); + } // Don't delete old history by default, // because Android app doesn't. //