diff options
Diffstat (limited to 'src/modules/m_remove.cpp')
| -rw-r--r-- | src/modules/m_remove.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/modules/m_remove.cpp b/src/modules/m_remove.cpp index 74b4c2992..5b41b1ccf 100644 --- a/src/modules/m_remove.cpp +++ b/src/modules/m_remove.cpp @@ -36,6 +36,7 @@ class CommandRemove final { private: ChanModeReference nokicksmode; + UserModeReference servprotectmode; public: unsigned long protectedrank; @@ -44,6 +45,7 @@ public: CommandRemove(Module* Creator) : Command(Creator, "REMOVE", 2, 3) , nokicksmode(Creator, "nokick") + , servprotectmode(Creator, "servprotect") { syntax = { "<channel> <nick> [:<reason>]" }; translation = { TR_TEXT, TR_NICK, TR_TEXT }; @@ -84,7 +86,7 @@ public: return CmdResult::FAILURE; } - if (target->server->IsService()) + if (target->IsModeSet(servprotectmode)) { user->WriteNumeric(ERR_RESTRICTED, channame, "Only a service may remove a service from a channel."); return CmdResult::FAILURE; |
