+ if ((parameters.empty()) || (irc::equals(parameters[0], ServerInstance->Config->ServerName)))
+ ShowOperMOTD(user, true);
+ return CMD_SUCCESS;
+ }
+
+ RouteDescriptor GetRouting(User* user, const Params& parameters) CXX11_OVERRIDE
+ {
+ if ((!parameters.empty()) && (parameters[0].find('.') != std::string::npos))
+ return ROUTE_OPT_UCAST(parameters[0]);
+ return ROUTE_LOCALONLY;
+ }
+
+ void ShowOperMOTD(User* user, bool show_missing)
+ {
+ if (opermotd.empty())
+ {
+ if (show_missing)
+ user->WriteRemoteNumeric(ERR_NOOPERMOTD, "OPERMOTD file is missing.");
+ return;
+ }
+
+ 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_OMOTD, InspIRCd::Format("- %s", i->c_str()));
+ }
+
+ user->WriteRemoteNumeric(RPL_ENDOFOMOTD, "End of OPERMOTD");