diff options
| author | 2022-06-15 17:11:14 +0100 | |
|---|---|---|
| committer | 2022-06-15 17:11:14 +0100 | |
| commit | fb8ca4459dbb0d381cd89464bb7aff79b537e8c4 (patch) | |
| tree | a1ecd33ac3d6e038df0dd021bc80246dc077fc60 /src/modules/m_messageflood.cpp | |
| parent | Allow templating of the repeat module kick message. (diff) | |
Allow templating of the messageflood module kick message.
Diffstat (limited to 'src/modules/m_messageflood.cpp')
| -rw-r--r-- | src/modules/m_messageflood.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/modules/m_messageflood.cpp b/src/modules/m_messageflood.cpp index 3eef2a9dc..2cb915bf1 100644 --- a/src/modules/m_messageflood.cpp +++ b/src/modules/m_messageflood.cpp @@ -121,6 +121,7 @@ private: double notice; double privmsg; double tagmsg; + std::string kickmessage; public: ModuleMsgFlood() @@ -138,6 +139,7 @@ public: notice = tag->getFloat("notice", 1.0); privmsg = tag->getFloat("privmsg", 1.0); tagmsg = tag->getFloat("tagmsg", 0.2); + kickmessage = tag->getString("kickmessage", "Message flood (trigger is %lines% messages in %duration%)", 1); } ModResult HandleMessage(User* user, const MessageTarget& target, double weight) @@ -167,10 +169,12 @@ public: ServerInstance->Modes.Process(ServerInstance->FakeClient, dest, nullptr, changelist); } - const std::string kickMessage = "Channel flood triggered (trigger is " + ConvToStr(f->lines) + - " lines in " + ConvToStr(f->secs) + " secs)"; - - dest->KickUser(ServerInstance->FakeClient, user, kickMessage); + const std::string kickmsg = Template::Replace(kickmessage, { + { "duration", InspIRCd::DurationString(f->secs) }, + { "lines", ConvToStr(f->lines) }, + { "seconds", ConvToStr(f->secs) }, + }); + dest->KickUser(ServerInstance->FakeClient, user, kickmsg); return MOD_RES_DENY; } |
