RPL_UMODEIS = 221,
RPL_RULES = 232, // unrealircd
+ RPL_ADMINME = 256,
+ RPL_ADMINLOC1 = 257,
+ RPL_ADMINLOC2 = 258,
+ RPL_ADMINEMAIL = 259,
RPL_MAPUSERS = 270, // insp-specific(?)
+
+ RPL_NOWAWAY = 305,
+ RPL_UNAWAY = 306,
+
RPL_RULESTART = 308, // unrealircd
RPL_RULESEND = 309, // unrealircd
RPL_CHANNELMODEIS = 324,
RPL_CHANNELCREATED = 329, // ???
RPL_TOPIC = 332,
RPL_TOPICTIME = 333, // not RFC, extremely common though
+
+ RPL_INVITING = 341,
+ RPL_INVITELIST = 346, // insp-specific (stolen from ircu)
+ RPL_ENDOFINVITELIST = 347, // insp-specific (stolen from ircu)
RPL_VERSION = 351,
RPL_NAMREPLY = 353,
RPL_ENDOFNAMES = 366,
+ RPL_INFO = 371,
+ RPL_ENDOFINFO = 374,
RPL_MOTD = 372,
RPL_MOTDSTART = 375,
RPL_ENDOFMOTD = 376,
ERR_NOMOTD = 422,
ERR_NORULES = 434, // unrealircd
ERR_USERNOTINCHANNEL = 441,
+ ERR_NOTONCHANNEL = 442,
+ ERR_USERONCHANNEL = 443,
ERR_CANTCHANGENICK = 447, // unrealircd, probably
ERR_NOTREGISTERED = 451,
ERR_NEEDMOREPARAMS = 461,
ERR_CANTJOINOPERSONLY = 520, // unrealircd, but crap to have so many numerics for cant join..
ERR_CANTSENDTOUSER = 531, // ???
+ RPL_COMMANDS = 702, // insp-specific
+ RPL_COMMANDSEND = 703, // insp-specific
+
ERR_WORDFILTERED = 936, // insp-specific, would be nice if we could get rid of this..
ERR_CANTUNLOADMODULE = 972, // insp-specific
RPL_UNLOADEDMODULE = 973, // insp-specific
*/
CmdResult CommandInfo::Handle (const std::vector<std::string>&, User *user)
{
- user->WriteServ( "371 %s : -/\\- \2InspIRCd\2 -\\/-", user->nick.c_str());
- user->WriteServ( "371 %s : November 2002 - Present", user->nick.c_str());
- user->WriteServ( "371 %s : ", user->nick.c_str());
- user->WriteServ( "371 %s :\2Core Developers\2:", user->nick.c_str());
- user->WriteServ( "371 %s : Craig Edwards, Brain, <brain@inspircd.org>", user->nick.c_str());
- user->WriteServ( "371 %s : Craig McLure, Craig, <craig@inspircd.org>", user->nick.c_str());
- user->WriteServ( "371 %s : Robin Burchell, w00t, <w00t@inspircd.org>", user->nick.c_str());
- user->WriteServ( "371 %s : Oliver Lupton, Om, <om@inspircd.org>", user->nick.c_str());
- user->WriteServ( "371 %s : John Brooks, Special, <special@inspircd.org>", user->nick.c_str());
- user->WriteServ( "371 %s : Pippijn van Steenhoven, pippijn, <pippijn@one09.net>", user->nick.c_str());
- user->WriteServ( "371 %s : Dennis Friis, peavey, <peavey@inspircd.org>", user->nick.c_str());
- user->WriteServ( "371 %s : Thomas Stagner, aquanight, <aquanight@inspircd.org>", user->nick.c_str());
- user->WriteServ( "371 %s : Eric Dietz, fez, <fez@inspircd.org>", user->nick.c_str());
- user->WriteServ( "371 %s : ", user->nick.c_str());
- user->WriteServ( "371 %s :\2Regular Contributors\2:", user->nick.c_str());
- user->WriteServ( "371 %s : satmd nenolod John2 Skip", user->nick.c_str());
- user->WriteServ( "371 %s : jilles Majic eggy Trystan", user->nick.c_str());
- user->WriteServ( "371 %s : Quension danieldg praetorian", user->nick.c_str());
- user->WriteServ( "371 %s : GreenReaper psychon searchirc.com irc-junkie.org", user->nick.c_str());
- user->WriteServ( "371 %s : ", user->nick.c_str());
- user->WriteServ( "371 %s :\2Other Contributors\2:", user->nick.c_str());
- user->WriteServ( "371 %s : dmb Zaba skenmy LeaChim", user->nick.c_str());
- user->WriteServ( "371 %s : Thunderhacker Dan Jason owine", user->nick.c_str());
- user->WriteServ( "371 %s : Adremelech dz BuildSmart HiroP", user->nick.c_str());
- user->WriteServ( "371 %s : ThaPrince Bricker AnMaster djGrrr", user->nick.c_str());
- user->WriteServ( "371 %s : ", user->nick.c_str());
- user->WriteServ( "371 %s :\2Former Contributors\2:", user->nick.c_str());
- user->WriteServ( "371 %s : CC jamie typobox43 Burlex (win32)", user->nick.c_str());
- user->WriteServ( "371 %s : Stskeeps ", user->nick.c_str());
- user->WriteServ( "371 %s : ", user->nick.c_str());
- user->WriteServ( "371 %s : Best experienced with: \2An IRC client\2", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : -/\\- \2InspIRCd\2 -\\/-", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : November 2002 - Present", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : ", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s :\2Core Developers\2:", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : Craig Edwards, Brain, <brain@inspircd.org>", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : Craig McLure, Craig, <craig@inspircd.org>", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : Robin Burchell, w00t, <w00t@inspircd.org>", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : Oliver Lupton, Om, <om@inspircd.org>", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : John Brooks, Special, <special@inspircd.org>", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : Pippijn van Steenhoven, pippijn, <pippijn@one09.net>", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : Dennis Friis, peavey, <peavey@inspircd.org>", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : Thomas Stagner, aquanight, <aquanight@inspircd.org>", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : Eric Dietz, fez, <fez@inspircd.org>", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : ", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s :\2Regular Contributors\2:", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : satmd nenolod John2 Skip", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : jilles Majic eggy Trystan", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : Quension danieldg praetorian", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : GreenReaper psychon searchirc.com irc-junkie.org", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : ", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s :\2Other Contributors\2:", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : dmb Zaba skenmy LeaChim", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : Thunderhacker Dan Jason owine", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : Adremelech dz BuildSmart HiroP", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : ThaPrince Bricker AnMaster djGrrr", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : ", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, " %s :\2Former Contributors\2:", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, " %s : CC jamie typobox43 Burlex (win32)", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, " %s : Stskeeps ", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, " %s : ", user->nick.c_str());
+ user->WriteNumeric(RPL_INFO, "%s : Best experienced with: \2An IRC client\2", user->nick.c_str());
FOREACH_MOD(I_OnInfo,OnInfo(user));
- user->WriteServ( "374 %s :End of /INFO list", user->nick.c_str());
+ user->WriteNumeric(RPL_ENDOFINFO, "%s :End of /INFO list", user->nick.c_str());
return CMD_SUCCESS;
}
if ((!c) || (!u))
{
- user->WriteNumeric(401, "%s %s :No such nick/channel",user->nick.c_str(), c ? parameters[0].c_str() : parameters[1].c_str());
+ user->WriteNumeric(ERR_NOSUCHNICK, "%s %s :No such nick/channel",user->nick.c_str(), c ? parameters[0].c_str() : parameters[1].c_str());
return CMD_FAILURE;
}
{
if (c->GetStatus(user) < STATUS_HOP)
{
- user->WriteNumeric(482, "%s %s :You must be a channel %soperator", user->nick.c_str(), c->name.c_str(), c->GetStatus(u) == STATUS_HOP ? "" : "half-");
+ user->WriteNumeric(ERR_CHANOPRIVSNEEDED, "%s %s :You must be a channel %soperator", user->nick.c_str(), c->name.c_str(), c->GetStatus(u) == STATUS_HOP ? "" : "half-");
return CMD_FAILURE;
}
}
if (c->HasUser(u))
{
- user->WriteNumeric(443, "%s %s %s :is already on channel",user->nick.c_str(),u->nick.c_str(),c->name.c_str());
+ user->WriteNumeric(ERR_USERONCHANNEL, "%s %s %s :is already on channel",user->nick.c_str(),u->nick.c_str(),c->name.c_str());
return CMD_FAILURE;
}
if ((IS_LOCAL(user)) && (!c->HasUser(user)))
{
- user->WriteNumeric(442, "%s %s :You're not on that channel!",user->nick.c_str(), c->name.c_str());
+ user->WriteNumeric(ERR_NOTONCHANNEL, "%s %s :You're not on that channel!",user->nick.c_str(), c->name.c_str());
return CMD_FAILURE;
}
+ {
FOREACH_RESULT(I_OnUserPreInvite,OnUserPreInvite(user,u,c,timeout));
if (MOD_RESULT == 1)
- {
return CMD_FAILURE;
}
u->InviteTo(c->name.c_str(), timeout);
u->WriteFrom(user,"INVITE %s :%s",u->nick.c_str(),c->name.c_str());
- user->WriteNumeric(341, "%s %s %s",user->nick.c_str(),u->nick.c_str(),c->name.c_str());
+ user->WriteNumeric(RPL_INVITING, "%s %s %s",user->nick.c_str(),u->nick.c_str(),c->name.c_str());
switch (ServerInstance->Config->AnnounceInvites)
{
case ServerConfig::INVITE_ANNOUNCE_ALL:
InvitedList* il = user->GetInviteList();
for (InvitedList::iterator i = il->begin(); i != il->end(); i++)
{
- user->WriteNumeric(346, "%s :%s",user->nick.c_str(),i->first.c_str());
+ user->WriteNumeric(RPL_INVITELIST, "%s :%s",user->nick.c_str(),i->first.c_str());
}
- user->WriteNumeric(347, "%s :End of INVITE list",user->nick.c_str());
+ user->WriteNumeric(RPL_ENDOFINVITELIST, "%s :End of INVITE list",user->nick.c_str());
}
return CMD_SUCCESS;
}