From a853a9245c7a4e05f3e3efb3728b4ddce5a4bc64 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Sat, 4 Feb 2023 07:36:08 +0000 Subject: Warn users who have been found to be message flooding better. --- src/modules/m_messageflood.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/modules/m_messageflood.cpp') diff --git a/src/modules/m_messageflood.cpp b/src/modules/m_messageflood.cpp index 67ff0259c..3716f1dad 100644 --- a/src/modules/m_messageflood.cpp +++ b/src/modules/m_messageflood.cpp @@ -240,6 +240,15 @@ private: ServerInstance->Modes.Process(ServerInstance->FakeClient, channel, nullptr, changelist); } + static void InformUser(Channel* chan, User* user, const std::string& message) + { + Membership* memb = chan->GetUser(user); + if (memb) + memb->WriteNotice(message); + else + user->WriteNotice(INSP_FORMAT("[{}] {}", chan->name, message)); + } + public: ModuleMsgFlood() : Module(VF_VENDOR, "Adds channel mode f (flood) which helps protect against spammers which mass-message channels.") @@ -296,12 +305,12 @@ public: switch (f->action) { case MsgFloodAction::BAN: - user->WriteNotice(msg); + InformUser(dest, user, msg); CreateBan(dest, user, false); break; case MsgFloodAction::BLOCK: - user->WriteNotice(msg); + InformUser(dest, user, msg); break; case MsgFloodAction::KICK: @@ -314,7 +323,7 @@ public: break; case MsgFloodAction::MUTE: - user->WriteNotice(msg); + InformUser(dest, user, msg); CreateBan(dest, user, true); break; } -- cgit v1.3.1-10-gc9f91