diff options
| author | 2025-01-17 21:48:28 +0000 | |
|---|---|---|
| committer | 2025-01-17 21:58:26 +0000 | |
| commit | 2ac056e304cd0c265628d42b7d1dfcc8b37f0d21 (patch) | |
| tree | a464a5883704577a75bc0467cfee3e742d3b412f /modules/messageflood.cpp | |
| parent | Merge branch 'insp4' into master. (diff) | |
Purge v3 compatibility code.
Diffstat (limited to 'modules/messageflood.cpp')
| -rw-r--r-- | modules/messageflood.cpp | 91 |
1 files changed, 27 insertions, 64 deletions
diff --git a/modules/messageflood.cpp b/modules/messageflood.cpp index 3610395d6..c644c2c70 100644 --- a/modules/messageflood.cpp +++ b/modules/messageflood.cpp @@ -124,11 +124,10 @@ private: } public: - bool extended; - MsgFlood(Module* Creator) : ParamMode<MsgFlood, SimpleExtItem<MsgFloodSettings>>(Creator, "flood", 'f') { + syntax = "{ban|block|mute|kick|kickban}:<messages>:<period>"; } bool OnSet(User* source, Channel* channel, std::string& parameter) override @@ -136,28 +135,12 @@ public: MsgFloodAction action; unsigned int messages; unsigned long period; - if (extended) - { - irc::sepstream stream(parameter, ':'); - if (!ParseAction(stream, action) || !ParseMessages(stream, messages) || !ParsePeriod(stream, period)) - { - source->WriteNumeric(Numerics::InvalidModeParameter(channel, this, parameter)); - return false; - } - } - else - { - std::string::size_type colon = parameter.find(':'); - if (colon == std::string::npos || parameter.find('-') != std::string::npos) - { - source->WriteNumeric(Numerics::InvalidModeParameter(channel, this, parameter)); - return false; - } - bool kickban = parameter[0] == '*'; - action = kickban ? MsgFloodAction::KICK_BAN : MsgFloodAction::BLOCK; - messages = ConvToNum<unsigned int>(parameter.substr(kickban ? 1 : 0, kickban ? colon - 1 : colon)); - period = ConvToNum<unsigned int>(parameter.substr(colon + 1)); + irc::sepstream stream(parameter, ':'); + if (!ParseAction(stream, action) || !ParseMessages(stream, messages) || !ParsePeriod(stream, period)) + { + source->WriteNumeric(Numerics::InvalidModeParameter(channel, this, parameter)); + return false; } if (messages < 2 || period < 1) @@ -172,46 +155,28 @@ public: void SerializeParam(Channel* chan, const MsgFloodSettings* fs, std::string& out) { - if (extended) - { - switch (fs->action) - { - case MsgFloodAction::BAN: - out.append("ban"); - break; - case MsgFloodAction::BLOCK: - out.append("block"); - break; - case MsgFloodAction::MUTE: - out.append("mute"); - break; - case MsgFloodAction::KICK: - out.append("kick"); - break; - case MsgFloodAction::KICK_BAN: - out.append("kickban"); - break; - } - out.push_back(':'); - out.append(ConvToStr(fs->messages)); - out.push_back(':'); - out.append(Duration::ToString(fs->period)); - } - else + switch (fs->action) { - if (fs->action == MsgFloodAction::KICK_BAN) - out.push_back('*'); - out.append(ConvToStr(fs->messages)).push_back(':'); - out.append(ConvToStr(fs->period)); + case MsgFloodAction::BAN: + out.append("ban"); + break; + case MsgFloodAction::BLOCK: + out.append("block"); + break; + case MsgFloodAction::MUTE: + out.append("mute"); + break; + case MsgFloodAction::KICK: + out.append("kick"); + break; + case MsgFloodAction::KICK_BAN: + out.append("kickban"); + break; } - } - - void SetSyntax() - { - if (extended) - syntax = "{ban|block|mute|kick|kickban}:<messages>:<period>"; - else - syntax = "[*]<messages>:<period>"; + out.push_back(':'); + out.append(ConvToStr(fs->messages)); + out.push_back(':'); + out.append(Duration::ToString(fs->period)); } }; @@ -266,13 +231,11 @@ public: privmsg = tag->getNum<double>("privmsg", 1.0); tagmsg = tag->getNum<double>("tagmsg", 0.2); message = tag->getString("message", "Message flood detected (trigger is %messages% messages in %duration%)", 1); - mf.extended = tag->getBool("extended"); - mf.SetSyntax(); } void GetLinkData(LinkData& data) override { - data["actions"] = mf.extended ? "ban block kick kickban mute" : "block kickban"; + data["actions"] = "ban block kick kickban mute"; } ModResult HandleMessage(User* user, const MessageTarget& target, double weight) |
