aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Sadie Powell2023-02-03 14:05:23 +0000
committerGravatar Sadie Powell2023-02-03 14:05:23 +0000
commitfdce6c739f5df62408856e4edf98a7004381921a (patch)
treee77440df7a9b890181156bdac387ca621354c78c /src
parentExpose the removed away message in OnUserBack. (diff)
Refactor reading the repeat module config.
Diffstat (limited to 'src')
-rw-r--r--src/modules/m_repeat.cpp26
1 files changed, 8 insertions, 18 deletions
diff --git a/src/modules/m_repeat.cpp b/src/modules/m_repeat.cpp
index 218bc54af..37c872f1a 100644
--- a/src/modules/m_repeat.cpp
+++ b/src/modules/m_repeat.cpp
@@ -245,23 +245,6 @@ public:
mx[1].resize(newsize);
}
- void ReadConfig()
- {
- const auto& conf = ServerInstance->Config->ConfValue("repeat");
- ms.MaxLines = conf->getNum<unsigned long>("maxlines", 20);
- ms.MaxBacklog = conf->getNum<unsigned long>("maxbacklog", 20);
- ms.MaxSecs = conf->getDuration("maxtime", 0);
-
- ms.MaxDiff = conf->getNum<unsigned int>("maxdistance", 50, 0, 100);
-
- size_t newsize = conf->getNum<size_t>("size", 512);
- if (newsize > ServerInstance->Config->Limits.MaxLine)
- newsize = ServerInstance->Config->Limits.MaxLine;
- Resize(newsize);
-
- ms.KickMessage = conf->getString("kickmessage", "Repeat flood (trigger is %lines% messages in %duration%)", 1);
- }
-
void SerializeParam(Channel* chan, const ChannelSettings* chset, std::string& out)
{
chset->serialize(out);
@@ -375,7 +358,14 @@ public:
void ReadConfig(ConfigStatus& status) override
{
- rm.ReadConfig();
+ const auto& tag = ServerInstance->Config->ConfValue("repeat");
+ rm.ms.KickMessage = tag->getString("kickmessage", "Repeat flood (trigger is %lines% messages in %duration%)", 1);
+ 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);
+ rm.ms.MaxSecs = tag->getDuration("maxtime", 0);
+
+ rm.Resize(tag->getNum<size_t>("size", 512, 1, ServerInstance->Config->Limits.MaxLine));
}
ModResult OnUserPreMessage(User* user, const MessageTarget& target, MessageDetails& details) override