diff options
Diffstat (limited to 'src/modules/m_repeat.cpp')
| -rw-r--r-- | src/modules/m_repeat.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/modules/m_repeat.cpp b/src/modules/m_repeat.cpp index f88f2552b..8b47d5c4b 100644 --- a/src/modules/m_repeat.cpp +++ b/src/modules/m_repeat.cpp @@ -356,12 +356,15 @@ class RepeatMode final class RepeatModule final : public Module { + private: + ChanModeReference banmode; CheckExemption::EventProvider exemptionprov; RepeatMode rm; public: RepeatModule() : Module(VF_VENDOR | VF_COMMON, "Adds channel mode E (repeat) which helps protect against spammers which spam the same message repeatedly.") + , banmode(this, "ban") , exemptionprov(this) , rm(this) { @@ -404,8 +407,8 @@ class RepeatModule final if (settings->Action == ChannelSettings::ACT_BAN) { Modes::ChangeList changelist; - changelist.push_add(ServerInstance->Modes.FindMode('b', MODETYPE_CHANNEL), "*!*@" + user->GetDisplayedHost()); - ServerInstance->Modes.Process(ServerInstance->FakeClient, chan, NULL, changelist); + changelist.push_add(*banmode, "*!*@" + user->GetDisplayedHost()); + ServerInstance->Modes.Process(ServerInstance->FakeClient, chan, nullptr, changelist); } memb->chan->KickUser(ServerInstance->FakeClient, user, rm.GetKickMessage()); |
