]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_alias.cpp
Fix the cloaking module on C++98 compilers.
[user/henk/code/inspircd.git] / src / modules / m_alias.cpp
index 163ff9df71eb81321c33cd7891845853133e739e..7fc0f3bb038f360e3e0f69782abeee5f516c4c2d 100644 (file)
@@ -2,14 +2,14 @@
  * InspIRCd -- Internet Relay Chat Daemon
  *
  *   Copyright (C) 2018-2019 linuxdaemon <linuxdaemon.irc@gmail.com>
- *   Copyright (C) 2013-2016, 2018 Attila Molnar <attilamolnar@hush.com>
- *   Copyright (C) 2013, 2015-2019 Sadie Powell <sadie@witchery.services>
+ *   Copyright (C) 2013, 2015-2019, 2021 Sadie Powell <sadie@witchery.services>
+ *   Copyright (C) 2012-2015, 2018 Attila Molnar <attilamolnar@hush.com>
  *   Copyright (C) 2012, 2019 Robby <robby@chatbelgie.be>
  *   Copyright (C) 2009-2010 Daniel De Graaf <danieldg@inspircd.org>
  *   Copyright (C) 2009 Matt Smith <dz@inspircd.org>
  *   Copyright (C) 2008-2009 Robin Burchell <robin+git@viroteck.net>
  *   Copyright (C) 2007-2008 Dennis Friis <peavey@inspircd.org>
- *   Copyright (C) 2006-2009 Craig Edwards <brain@inspircd.org>
+ *   Copyright (C) 2004, 2006-2009 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
@@ -122,7 +122,7 @@ class ModuleAlias : public Module
 
        Version GetVersion() CXX11_OVERRIDE
        {
-               return Version("Provides aliases of commands", VF_VENDOR);
+               return Version("Allows the server administrator to define custom channel commands (e.g. !kick) and server commands (e.g. /OPERSERV).", VF_VENDOR);
        }
 
        std::string GetVar(std::string varname, const std::string &original_line)
@@ -166,7 +166,7 @@ class ModuleAlias : public Module
 
        ModResult OnPreCommand(std::string& command, CommandBase::Params& parameters, LocalUser* user, bool validated) CXX11_OVERRIDE
        {
-               /* If theyre not registered yet, we dont want
+               /* If they're not registered yet, we dont want
                 * to know.
                 */
                if (user->registered != REG_ALL)
@@ -286,17 +286,18 @@ class ModuleAlias : public Module
 
                if (!a->RequiredNick.empty())
                {
+                       int numeric = a->ULineOnly ? ERR_NOSUCHSERVICE : ERR_NOSUCHNICK;
                        User* u = ServerInstance->FindNickOnly(a->RequiredNick);
                        if (!u)
                        {
-                               user->WriteNumeric(ERR_NOSUCHNICK, a->RequiredNick, "is currently unavailable. Please try again later.");
+                               user->WriteNumeric(numeric, a->RequiredNick, "is currently unavailable. Please try again later.");
                                return 1;
                        }
 
                        if ((a->ULineOnly) && (!u->server->IsULine()))
                        {
                                ServerInstance->SNO->WriteToSnoMask('a', "NOTICE -- Service "+a->RequiredNick+" required by alias "+a->AliasedCommand+" is not on a U-lined server, possibly underhanded antics detected!");
-                               user->WriteNumeric(ERR_NOSUCHNICK, a->RequiredNick, "is not a network service! Please inform a server operator as soon as possible.");
+                               user->WriteNumeric(numeric, a->RequiredNick, "is not a network service! Please inform a server operator as soon as possible.");
                                return 1;
                        }
                }