From 4e52832bffcd8ce373dcadc4d3321b6ea06d44fb Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Sun, 24 Mar 2024 17:06:55 +0000 Subject: Allow rmode to remove all modes matching a specific user. --- src/modules/m_rmode.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/modules/m_rmode.cpp') diff --git a/src/modules/m_rmode.cpp b/src/modules/m_rmode.cpp index e4c0d4052..96dde40bb 100644 --- a/src/modules/m_rmode.cpp +++ b/src/modules/m_rmode.cpp @@ -91,9 +91,10 @@ public: } else if ((lm = mh->IsListModeBase()) && ((ml = lm->GetList(chan)) != nullptr)) { + auto* targuser = parameters.size() > 2 ? ServerInstance->Users.FindNick(parameters[2]) : nullptr; for (const auto& entry : *ml) { - if (InspIRCd::Match(entry.mask, pattern)) + if (targuser ? chan->CheckBan(targuser, entry.mask) : InspIRCd::Match(entry.mask, pattern)) changelist.push_remove(mh, entry.mask); } } -- cgit v1.3.1-10-gc9f91