diff options
author | iwalkalone <iwalkalone69@users.noreply.github.com> | 2021-01-18 08:22:44 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-18 07:22:44 +0000 |
commit | 6223be60dee0aa4f69b53b102a9d1aadd0dde047 (patch) | |
tree | e4a4465e6d9fca4a58e1c2a828c1f54f2ab32307 /src/modules/m_repeat.cpp | |
parent | f9a663185402b9689c784dc87c317ac204c53f03 (diff) |
Implemented configurable kick message for the repeat module (#1835).
Diffstat (limited to 'src/modules/m_repeat.cpp')
-rw-r--r-- | src/modules/m_repeat.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/modules/m_repeat.cpp b/src/modules/m_repeat.cpp index 89f5a1291..e6568732b 100644 --- a/src/modules/m_repeat.cpp +++ b/src/modules/m_repeat.cpp @@ -90,6 +90,7 @@ class RepeatMode : public ParamMode<RepeatMode, SimpleExtItem<ChannelSettings> > unsigned int MaxBacklog; unsigned int MaxDiff; unsigned int MaxMessageSize; + std::string KickMessage; ModuleSettings() : MaxLines(0), MaxSecs(0), MaxBacklog(0), MaxDiff() { } }; @@ -251,6 +252,8 @@ class RepeatMode : public ParamMode<RepeatMode, SimpleExtItem<ChannelSettings> > if (newsize > ServerInstance->Config->Limits.MaxLine) newsize = ServerInstance->Config->Limits.MaxLine; Resize(newsize); + + ms.KickMessage = conf->getString("kickmessage", "Repeat flood"); } std::string GetModuleSettings() const @@ -258,6 +261,11 @@ class RepeatMode : public ParamMode<RepeatMode, SimpleExtItem<ChannelSettings> > return ConvToStr(ms.MaxLines) + ":" + ConvToStr(ms.MaxSecs) + ":" + ConvToStr(ms.MaxDiff) + ":" + ConvToStr(ms.MaxBacklog); } + std::string GetKickMessage() const + { + return ms.KickMessage; + } + void SerializeParam(Channel* chan, const ChannelSettings* chset, std::string& out) { chset->serialize(out); @@ -402,7 +410,7 @@ class RepeatModule : public Module ServerInstance->Modes->Process(ServerInstance->FakeClient, chan, NULL, changelist); } - memb->chan->KickUser(ServerInstance->FakeClient, user, "Repeat flood"); + memb->chan->KickUser(ServerInstance->FakeClient, user, rm.GetKickMessage()); return MOD_RES_DENY; } return MOD_RES_PASSTHRU; |