#include "inspircd.h"
+#include "core_user.h"
-/** Handle /AWAY.
- */
-class CommandAway : public Command
+CommandAway::CommandAway(Module* parent)
+ : Command(parent, "AWAY", 0, 0)
{
- public:
- /** Constructor for away.
- */
- CommandAway ( Module* parent) : Command(parent,"AWAY",0,0) { syntax = "[<message>]"; }
- /** Handle command.
- * @param parameters The parameters to the command
- * @param user The user issuing the command
- * @return A value from CmdResult to indicate command success or failure.
- */
- CmdResult Handle(const std::vector<std::string>& parameters, User *user);
- RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters)
- {
- return (IS_LOCAL(user) ? ROUTE_LOCALONLY : ROUTE_BROADCAST);
- }
-};
+ syntax = "[<message>]";
+}
/** Handle /AWAY
*/
user->awaytime = ServerInstance->Time();
user->awaymsg.assign(parameters[0], 0, ServerInstance->Config->Limits.MaxAway);
- user->WriteNumeric(RPL_NOWAWAY, ":You have been marked as being away");
+ user->WriteNumeric(RPL_NOWAWAY, "You have been marked as being away");
}
else
{
return CMD_FAILURE;
user->awaymsg.clear();
- user->WriteNumeric(RPL_UNAWAY, ":You are no longer marked as being away");
+ user->WriteNumeric(RPL_UNAWAY, "You are no longer marked as being away");
}
return CMD_SUCCESS;
}
-COMMAND_INIT(CommandAway)
+RouteDescriptor CommandAway::GetRouting(User* user, const std::vector<std::string>& parameters)
+{
+ return (IS_LOCAL(user) ? ROUTE_LOCALONLY : ROUTE_BROADCAST);
+}