diff options
| author | 2024-03-24 17:06:55 +0000 | |
|---|---|---|
| committer | 2024-03-24 17:06:55 +0000 | |
| commit | 4e52832bffcd8ce373dcadc4d3321b6ea06d44fb (patch) | |
| tree | 04e3770f648e41e3a93378ef2d264f05d1574096 /src/modules/m_rmode.cpp | |
| parent | Allow services to request seeing channel messages even if unguarded. (diff) | |
| download | inspircd++-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.cpp | 3 |
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); } } |
