aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/m_rmode.cpp
diff options
context:
space:
mode:
authorGravatar Sadie Powell2022-04-16 16:16:29 +0100
committerGravatar Sadie Powell2022-04-16 16:16:29 +0100
commit30edd1070df3ddb2ae64b61b65c25f88a0b61e49 (patch)
tree85b33545d32405f7d531bfac2d0b991a6eba3e70 /src/modules/m_rmode.cpp
parentFix the command used to retrieve the number of cores on Alpine. (diff)
parentBump peter-evans/create-pull-request from 3 to 4 (diff)
Merge branch 'insp3' into master.
Diffstat (limited to 'src/modules/m_rmode.cpp')
-rw-r--r--src/modules/m_rmode.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/modules/m_rmode.cpp b/src/modules/m_rmode.cpp
index f4bddfe5c..eb95d28d3 100644
--- a/src/modules/m_rmode.cpp
+++ b/src/modules/m_rmode.cpp
@@ -35,26 +35,25 @@ public:
CmdResult Handle(User* user, const Params& parameters) override
{
- ModeHandler* mh;
Channel* chan = ServerInstance->Channels.Find(parameters[0]);
- char modeletter = parameters[1][0];
-
if (!chan)
{
- user->WriteNotice("The channel " + parameters[0] + " does not exist.");
+ user->WriteNumeric(Numerics::NoSuchChannel(parameters[0]));
return CmdResult::FAILURE;
}
- mh = ServerInstance->Modes.FindMode(modeletter, MODETYPE_CHANNEL);
+ unsigned char modeletter = parameters[1][0];
+ ModeHandler* mh = ServerInstance->Modes.FindMode(modeletter, MODETYPE_CHANNEL);
if (!mh || parameters[1].size() > 1)
{
- user->WriteNotice(parameters[1] + " is not a valid channel mode.");
+ user->WriteNumeric(ERR_UNKNOWNMODE, parameters[0], "is not a recognised channel mode.");
return CmdResult::FAILURE;
}
if (chan->GetPrefixValue(user) < mh->GetLevelRequired(false))
{
- user->WriteNotice("You do not have access to unset " + ConvToStr(modeletter) + " on " + chan->name + ".");
+ user->WriteNumeric(Numerics::ChannelPrivilegesNeeded(chan, mh->GetLevelRequired(false), InspIRCd::Format("unset channel mode %c (%s)",
+ mh->GetModeChar(), mh->name.c_str())));
return CmdResult::FAILURE;
}