if (!channel->IsModeSet(mh))
continue;
numeric.Add("+" + mh->name);
- if (mh->NeedsParam(true))
+ ParamModeBase* pm = mh->IsParameterMode();
+ if (pm)
{
- if ((mh->name == "key") && (!channel->HasUser(user)) && (!user->HasPrivPermission("channels/auspex")))
- numeric.Add("<key>");
+ if ((pm->IsParameterSecret()) && (!channel->HasUser(user)) && (!user->HasPrivPermission("channels/auspex")))
+ numeric.Add("<" + mh->name + ">");
else
numeric.Add(channel->GetModeParameter(mh));
}
CommandProp(Module* parent)
: SplitCommand(parent, "PROP", 1)
{
- syntax = "<user|channel> {[+-]<mode> [<value>]}*";
+ syntax = "<channel> [[(+|-)]<mode> [<value>]]";
}
- CmdResult HandleLocal(const std::vector<std::string>& parameters, LocalUser* src) CXX11_OVERRIDE
+ CmdResult HandleLocal(LocalUser* src, const Params& parameters) CXX11_OVERRIDE
{
Channel* const chan = ServerInstance->FindChan(parameters[0]);
if (!chan)
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides the ability to manipulate modes via long names.",VF_VENDOR);
+ return Version("Provides the ability to manipulate modes via long names", VF_VENDOR);
}
void Prioritize() CXX11_OVERRIDE