/*
* InspIRCd -- Internet Relay Chat Daemon
*
+ * Copyright (C) 2013, 2017-2020 Sadie Powell <sadie@witchery.services>
+ * Copyright (C) 2013 Daniel Vassdal <shutter@canternet.org>
+ * Copyright (C) 2012-2016, 2018 Attila Molnar <attilamolnar@hush.com>
+ * Copyright (C) 2012, 2019 Robby <robby@chatbelgie.be>
* Copyright (C) 2009 Daniel De Graaf <danieldg@inspircd.org>
+ * Copyright (C) 2007 Robin Burchell <robin+git@viroteck.net>
* Copyright (C) 2007 Dennis Friis <peavey@inspircd.org>
- * Copyright (C) 2006-2007 Robin Burchell <robin+git@viroteck.net>
- * Copyright (C) 2004-2005 Craig Edwards <craigedwards@brainbox.cc>
+ * Copyright (C) 2004, 2006, 2010 Craig Edwards <brain@inspircd.org>
*
* This file is part of InspIRCd. InspIRCd is free software: you can
* redistribute it and/or modify it under the terms of the GNU General Public
CommandSamode(Module* Creator) : Command(Creator,"SAMODE", 2)
{
allow_empty_last_param = false;
- flags_needed = 'o'; syntax = "<target> <modes> {<mode-parameters>}";
+ flags_needed = 'o';
+ syntax = "<target> (+|-)<modes> [<mode-parameters>]";
active = false;
}
}
// Changing the modes of another user requires a special permission
- if ((target != user) && (!user->HasPrivPermission("users/samode-usermodes", true)))
+ if ((target != user) && (!user->HasPrivPermission("users/samode-usermodes")))
+ {
+ user->WriteNotice("*** You are not allowed to /SAMODE other users (the privilege users/samode-usermodes is needed to /SAMODE others).");
return CMD_FAILURE;
+ }
}
// XXX: Make ModeParser clear LastParse
Version GetVersion() CXX11_OVERRIDE
{
- return Version("Provides command SAMODE to allow opers to change modes on channels and users", VF_VENDOR);
+ return Version("Adds the /SAMODE command which allows server operators to change the modes of a target (channel, user) that they would not otherwise have the privileges to change.", VF_VENDOR);
}
ModResult OnPreMode(User* source, User* dest, Channel* channel, Modes::ChangeList& modes) CXX11_OVERRIDE