/*
* InspIRCd -- Internet Relay Chat Daemon
*
+ * Copyright (C) 2019 Robby <robby@chatbelgie.be>
+ * Copyright (C) 2013-2014, 2016 Attila Molnar <attilamolnar@hush.com>
+ * Copyright (C) 2013, 2017-2018 Sadie Powell <sadie@witchery.services>
* Copyright (C) 2013 Daniel Vassdal <shutter@canternet.org>
*
* This file is part of InspIRCd. InspIRCd is free software: you can
CommandRMode(Module* Creator) : Command(Creator,"RMODE", 2, 3)
{
allow_empty_last_param = false;
- syntax = "<channel> <mode> [pattern]";
+ syntax = "<channel> <mode> [<pattern>]";
}
- CmdResult Handle(const std::vector<std::string> ¶meters, User *user)
+ CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
{
ModeHandler* mh;
Channel* chan = ServerInstance->FindChan(parameters[0]);
return CMD_FAILURE;
}
- if (chan->GetPrefixValue(user) < mh->GetLevelRequired())
+ if (chan->GetPrefixValue(user) < mh->GetLevelRequired(false))
{
user->WriteNotice("You do not have access to unset " + ConvToStr(modeletter) + " on " + chan->name + ".");
return CMD_FAILURE;
{
if (!InspIRCd::Match(it->first->nick, pattern))
continue;
- if (it->second->hasMode(modeletter) && !((it->first == user) && (pm->GetPrefixRank() > VOICE_VALUE)))
+ if (it->second->HasMode(pm) && !((it->first == user) && (pm->GetPrefixRank() > VOICE_VALUE)))
changelist.push_remove(mh, it->first->nick);
}
}
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Allows glob-based removal of list modes", VF_VENDOR);
+ return Version("Allows removal of channel list modes using glob patterns.", VF_VENDOR);
}
};