aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/m_rmode.cpp
diff options
context:
space:
mode:
authorGravatar Sadie Powell2024-03-24 17:06:55 +0000
committerGravatar Sadie Powell2024-03-24 17:06:55 +0000
commit4e52832bffcd8ce373dcadc4d3321b6ea06d44fb (patch)
tree04e3770f648e41e3a93378ef2d264f05d1574096 /src/modules/m_rmode.cpp
parentAllow services to request seeing channel messages even if unguarded. (diff)
downloadinspircd++-4e52832bffcd8ce373dcadc4d3321b6ea06d44fb.tar.gz
inspircd++-4e52832bffcd8ce373dcadc4d3321b6ea06d44fb.tar.bz2
inspircd++-4e52832bffcd8ce373dcadc4d3321b6ea06d44fb.zip
Allow rmode to remove all modes matching a specific user.
Diffstat (limited to 'src/modules/m_rmode.cpp')
-rw-r--r--src/modules/m_rmode.cpp3
1 files changed, 2 insertions, 1 deletions
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);
}
}