aboutsummaryrefslogtreecommitdiff
path: root/src/modules/m_opermotd.cpp
diff options
context:
space:
mode:
authorGravatar Sadie Powell2019-05-15 15:11:31 +0100
committerGravatar Sadie Powell2019-05-15 15:26:55 +0100
commit1d5b18de82a90317291a10acb3b9132324c0e98b (patch)
treebe49087463332fcb617dd88567afce5cea6eb8c6 /src/modules/m_opermotd.cpp
parentMerge branch 'insp3' into master. (diff)
parentDocument the --disable-auto-extras configure option. (diff)
Merge branch 'insp3' into master.
Diffstat (limited to 'src/modules/m_opermotd.cpp')
-rw-r--r--src/modules/m_opermotd.cpp28
1 files changed, 20 insertions, 8 deletions
diff --git a/src/modules/m_opermotd.cpp b/src/modules/m_opermotd.cpp
index b62b6a01f..bad3c7e92 100644
--- a/src/modules/m_opermotd.cpp
+++ b/src/modules/m_opermotd.cpp
@@ -22,6 +22,17 @@
#include "inspircd.h"
+enum
+{
+ // From UnrealIRCd.
+ ERR_NOOPERMOTD = 425,
+
+ // From ircd-ratbox.
+ RPL_OMOTDSTART = 720,
+ RPL_OMOTD = 721,
+ RPL_ENDOFOMOTD = 722
+};
+
/** Handle /OPERMOTD
*/
class CommandOpermotd : public Command
@@ -37,7 +48,7 @@ class CommandOpermotd : public Command
CmdResult Handle(User* user, const Params& parameters) override
{
if ((parameters.empty()) || (irc::equals(parameters[0], ServerInstance->Config->ServerName)))
- ShowOperMOTD(user);
+ ShowOperMOTD(user, true);
return CMD_SUCCESS;
}
@@ -48,22 +59,23 @@ class CommandOpermotd : public Command
return ROUTE_LOCALONLY;
}
- void ShowOperMOTD(User* user)
+ void ShowOperMOTD(User* user, bool show_missing)
{
if (opermotd.empty())
{
- user->WriteRemoteNumeric(455, "OPERMOTD file is missing");
+ if (show_missing)
+ user->WriteRemoteNumeric(ERR_NOOPERMOTD, "OPERMOTD file is missing.");
return;
}
- user->WriteRemoteNumeric(RPL_MOTDSTART, "- IRC Operators Message of the Day");
+ user->WriteRemoteNumeric(RPL_OMOTDSTART, "Server operators message of the day");
for (file_cache::const_iterator i = opermotd.begin(); i != opermotd.end(); ++i)
{
- user->WriteRemoteNumeric(RPL_MOTD, InspIRCd::Format("- %s", i->c_str()));
+ user->WriteRemoteNumeric(RPL_OMOTD, InspIRCd::Format("- %s", i->c_str()));
}
- user->WriteRemoteNumeric(RPL_ENDOFMOTD, "- End of OPERMOTD");
+ user->WriteRemoteNumeric(RPL_ENDOFOMOTD, "End of OPERMOTD");
}
};
@@ -81,13 +93,13 @@ class ModuleOpermotd : public Module
Version GetVersion() override
{
- return Version("Shows a message to opers after oper-up, adds /opermotd", VF_VENDOR | VF_OPTCOMMON);
+ return Version("Shows a message to opers after oper-up and adds the OPERMOTD command", VF_VENDOR | VF_OPTCOMMON);
}
void OnOper(User* user, const std::string &opertype) override
{
if (onoper && IS_LOCAL(user))
- cmd.ShowOperMOTD(user);
+ cmd.ShowOperMOTD(user, false);
}
void ReadConfig(ConfigStatus& status) override