diff options
| author | 2025-01-17 21:48:28 +0000 | |
|---|---|---|
| committer | 2025-01-17 21:58:26 +0000 | |
| commit | 2ac056e304cd0c265628d42b7d1dfcc8b37f0d21 (patch) | |
| tree | a464a5883704577a75bc0467cfee3e742d3b412f /modules/repeat.cpp | |
| parent | Merge branch 'insp4' into master. (diff) | |
Purge v3 compatibility code.
Diffstat (limited to 'modules/repeat.cpp')
| -rw-r--r-- | modules/repeat.cpp | 91 |
1 files changed, 23 insertions, 68 deletions
diff --git a/modules/repeat.cpp b/modules/repeat.cpp index c78fb4b82..7d75688fc 100644 --- a/modules/repeat.cpp +++ b/modules/repeat.cpp @@ -47,47 +47,27 @@ public: unsigned int Diff; unsigned long Seconds; - void serialize(bool extended, std::string& out) const + void serialize(std::string& out) const { - if (extended) + switch (Action) { - switch (Action) - { - case ACT_BAN: - out.append("ban"); - break; - case ACT_BLOCK: - out.append("block"); - break; - case ACT_MUTE: - out.append("mute"); - break; - case ACT_KICK: - out.append("kick"); - break; - case ACT_KICK_BAN: - out.append("kickban"); - break; - } - out.push_back(':'); - } - else - { - switch (Action) - { - case ACT_KICK_BAN: - out.push_back('*'); - break; - - case ACT_BLOCK: - out.push_back('~'); - break; - - default: - break; // No other types are supported in the old mode. - } + case ACT_BAN: + out.append("ban"); + break; + case ACT_BLOCK: + out.append("block"); + break; + case ACT_MUTE: + out.append("mute"); + break; + case ACT_KICK: + out.append("kick"); + break; + case ACT_KICK_BAN: + out.append("kickban"); + break; } - + out.push_back(':'); out.append(ConvToStr(Lines)).push_back(':'); out.append(ConvToStr(Seconds)); if (Diff) @@ -128,7 +108,6 @@ private: struct ModuleSettings final { - bool Extended = false; unsigned long MaxLines = 0; unsigned long MaxSecs = 0; unsigned long MaxBacklog = 0; @@ -175,6 +154,7 @@ public: : ParamMode<RepeatMode, SimpleExtItem<ChannelSettings>>(Creator, "repeat", 'E') , MemberInfoExt(Creator, "repeat", ExtensionType::MEMBERSHIP) { + syntax = "{ban|block|mute|kick|kickban}:<lines>:<duration>[:<difference>][:<backlog>]"; } void OnUnset(User* source, Channel* chan) override @@ -280,16 +260,7 @@ public: void SerializeParam(Channel* chan, const ChannelSettings* chset, std::string& out) { - chset->serialize(ms.Extended, out); - } - - void SetSyntax() - { - if (ms.Extended) - syntax = "{ban|block|mute|kick|kickban}:<lines>:<duration>[:<difference>][:<backlog>]"; - else - syntax = "[~|*]<lines>:<duration>[:<difference>][:<backlog>]"; - + chset->serialize(out); } private: @@ -320,23 +291,8 @@ private: irc::sepstream stream(parameter, ':'); std::string item; - if (ms.Extended) - { - if (!ParseAction(stream, settings.Action) || !stream.GetToken(item)) - return false; - } - else - { - if (!stream.GetToken(item)) - return false; // Required parameter missing - - settings.Action = ChannelSettings::ACT_KICK; - if ((item[0] == '*') || (item[0] == '~')) - { - settings.Action = ((item[0] == '*') ? ChannelSettings::ACT_KICK_BAN : ChannelSettings::ACT_BLOCK); - item.erase(item.begin()); - } - } + if (!ParseAction(stream, settings.Action) || !stream.GetToken(item)) + return false; if ((settings.Lines = ConvToNum<unsigned int>(item)) == 0) return false; @@ -443,7 +399,6 @@ public: { const auto& tag = ServerInstance->Config->ConfValue("repeat"); rm.ms.Message = tag->getString("message", "Repeat flood detected (trigger is %lines% messages in %duration%)", 1); - rm.ms.Extended = tag->getBool("extended"); rm.ms.MaxBacklog = tag->getNum<unsigned long>("maxbacklog", 20); rm.ms.MaxDiff = tag->getNum<unsigned int>("maxdistance", 50, 0, 100); rm.ms.MaxLines = tag->getNum<unsigned long>("maxlines", 20); @@ -520,7 +475,7 @@ public: void GetLinkData(LinkData& data) override { - data["actions"] = rm.ms.Extended ? "ban block kick kickban mute" : "block kick kickban"; + data["actions"] = "ban block kick kickban mute"; data["max-lines"] = ConvToStr(rm.ms.MaxLines); data["max-secs"] = ConvToStr(rm.ms.MaxSecs); data["max-diff"] = ConvToStr(rm.ms.MaxDiff); |
