aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Sadie Powell2021-08-26 20:23:43 +0100
committerGravatar Sadie Powell2021-08-26 20:23:43 +0100
commite121ede0cc8f2a47becf8634b7b05c6914fabb87 (patch)
tree1974c29a005cc9b57b409b252642b0aad9e6b4cb /src
parentMerge branch 'insp3' into master. (diff)
Make the ADMIN output more like other IRC servers.
- Remove our weird numeric prefixes. - Merge the nick and name fields. - Add a description field for ADMINLOC2.
Diffstat (limited to 'src')
-rw-r--r--src/coremods/core_info/cmd_admin.cpp8
-rw-r--r--src/coremods/core_info/core_info.cpp6
-rw-r--r--src/coremods/core_info/core_info.h18
3 files changed, 10 insertions, 22 deletions
diff --git a/src/coremods/core_info/cmd_admin.cpp b/src/coremods/core_info/cmd_admin.cpp
index 6120fcf21..ae47f71ee 100644
--- a/src/coremods/core_info/cmd_admin.cpp
+++ b/src/coremods/core_info/cmd_admin.cpp
@@ -39,9 +39,9 @@ CmdResult CommandAdmin::Handle(User* user, const Params& parameters)
return CmdResult::SUCCESS;
user->WriteRemoteNumeric(RPL_ADMINME, ServerInstance->Config->GetServerName(), "Administrative info");
- if (!AdminName.empty())
- user->WriteRemoteNumeric(RPL_ADMINLOC1, InspIRCd::Format("Name: %s", AdminName.c_str()));
- user->WriteRemoteNumeric(RPL_ADMINLOC2, InspIRCd::Format("Nickname: %s", AdminNick.c_str()));
- user->WriteRemoteNumeric(RPL_ADMINEMAIL, InspIRCd::Format("Email: %s", AdminEmail.c_str()));
+ user->WriteRemoteNumeric(RPL_ADMINLOC1, adminname);
+ if (!admindesc.empty())
+ user->WriteRemoteNumeric(RPL_ADMINLOC2, admindesc);
+ user->WriteRemoteNumeric(RPL_ADMINEMAIL, adminemail);
return CmdResult::SUCCESS;
}
diff --git a/src/coremods/core_info/core_info.cpp b/src/coremods/core_info/core_info.cpp
index 40885c1f9..953231bd8 100644
--- a/src/coremods/core_info/core_info.cpp
+++ b/src/coremods/core_info/core_info.cpp
@@ -128,9 +128,9 @@ class CoreModInfo : public Module
cmdmotd.motds.swap(newmotds);
auto tag = ServerInstance->Config->ConfValue("admin");
- cmdadmin.AdminName = tag->getString("name");
- cmdadmin.AdminEmail = tag->getString("email", "null@example.com");
- cmdadmin.AdminNick = tag->getString("nick", "admin");
+ cmdadmin.adminname = tag->getString("name", tag->getString("nick", ServerInstance->Config->Network + " Admins", 1));
+ cmdadmin.admindesc = tag->getString("description");
+ cmdadmin.adminemail = tag->getString("email", "noreply@" + ServerInstance->Config->GetServerName(), 1);
isupport.Build();
}
diff --git a/src/coremods/core_info/core_info.h b/src/coremods/core_info/core_info.h
index 7e5528bf4..727a812b0 100644
--- a/src/coremods/core_info/core_info.h
+++ b/src/coremods/core_info/core_info.h
@@ -79,21 +79,9 @@ class ServerTargetCommand : public Command
class CommandAdmin : public ServerTargetCommand
{
public:
- /** Holds the admin's name, for output in
- * the /ADMIN command.
- */
- std::string AdminName;
-
- /** Holds the email address of the admin,
- * for output in the /ADMIN command.
- */
- std::string AdminEmail;
-
- /** Holds the admin's nickname, for output
- * in the /ADMIN command
- */
- std::string AdminNick;
-
+ std::string adminname;
+ std::string admindesc;
+ std::string adminemail;
CommandAdmin(Module* parent);
CmdResult Handle(User* user, const Params& parameters) override;
};