aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/m_remove.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/m_remove.cpp')
-rw-r--r--src/modules/m_remove.cpp4
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;