summaryrefslogtreecommitdiff
path: root/modules/commands/cs_updown.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/commands/cs_updown.cpp')
-rw-r--r--modules/commands/cs_updown.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/modules/commands/cs_updown.cpp b/modules/commands/cs_updown.cpp
index b0488de26..4524a9831 100644
--- a/modules/commands/cs_updown.cpp
+++ b/modules/commands/cs_updown.cpp
@@ -81,6 +81,7 @@ class CommandCSUp : public Command
}
User *u = User::Find(nick, true);
+ User *srcu = source.GetUser();
bool override = false;
if (u == NULL)
@@ -88,6 +89,11 @@ class CommandCSUp : public Command
source.Reply(NICK_X_NOT_IN_USE, nick.c_str());
return;
}
+ else if (srcu && !srcu->FindChannel(c))
+ {
+ source.Reply(_("You must be in \002%s\002 to use this command."), c->name.c_str());
+ return;
+ }
else if (!u->FindChannel(c))
{
source.Reply(NICK_X_NOT_ON_CHAN, nick.c_str(), channel.c_str());
@@ -173,6 +179,7 @@ class CommandCSDown : public Command
}
User *u = User::Find(nick, true);
+ User *srcu = source.GetUser();
bool override = false;
if (u == NULL)
@@ -180,6 +187,11 @@ class CommandCSDown : public Command
source.Reply(NICK_X_NOT_IN_USE, nick.c_str());
return;
}
+ else if (srcu && !srcu->FindChannel(c))
+ {
+ source.Reply(_("You must be in \002%s\002 to use this command."), c->name.c_str());
+ return;
+ }
else if (!u->FindChannel(c))
{
source.Reply(NICK_X_NOT_ON_CHAN, nick.c_str(), channel.c_str());