RPL_ENDOFWATCHLIST = 607,
// RPL_CLEARWATCH = 608, // unused
RPL_NOWISAWAY = 609,
- ERR_TOOMANYWATCH = 512
+ ERR_TOOMANYWATCH = 512,
+ ERR_INVALIDWATCHNICK = 942
};
class CommandWatch : public SplitCommand
{
// The away state should only be sent if the client requests away notifications for a nick but 2.0 always sends them so we do that too
if (target->IsAway())
- user->WriteNumeric(RPL_NOWISAWAY, target->nick, target->ident, target->dhost, (unsigned long)target->awaytime, "is away");
+ user->WriteNumeric(RPL_NOWISAWAY, target->nick, target->ident, target->GetDisplayedHost(), (unsigned long)target->awaytime, "is away");
else
- user->WriteNumeric(RPL_NOWON, target->nick, target->ident, target->dhost, (unsigned long)target->age, "is online");
+ user->WriteNumeric(RPL_NOWON, target->nick, target->ident, target->GetDisplayedHost(), (unsigned long)target->age, "is online");
}
else if (show_offline)
user->WriteNumeric(RPL_NOWOFF, nick, "*", "*", "0", "is offline");
}
else if (result == IRCv3::Monitor::Manager::WR_INVALIDNICK)
{
- user->WriteNumeric(942, nick, "Invalid nickname");
+ user->WriteNumeric(ERR_INVALIDWATCHNICK, nick, "Invalid nickname");
return;
}
else if (result != IRCv3::Monitor::Manager::WR_OK)
User* target = IRCv3::Monitor::Manager::FindNick(nick);
if (target)
- user->WriteNumeric(RPL_WATCHOFF, target->nick, target->ident, target->dhost, (unsigned long)target->age, "stopped watching");
+ user->WriteNumeric(RPL_WATCHOFF, target->nick, target->ident, target->GetDisplayedHost(), (unsigned long)target->age, "stopped watching");
else
user->WriteNumeric(RPL_WATCHOFF, nick, "*", "*", "0", "stopped watching");
}
syntax = "[<C|L|S|l|+<nick1>|-<nick>>]";
}
- CmdResult HandleLocal(const std::vector<std::string>& parameters, LocalUser* user)
+ CmdResult HandleLocal(const std::vector<std::string>& parameters, LocalUser* user) CXX11_OVERRIDE
{
if (parameters.empty())
{
return;
Numeric::Numeric num(numeric);
- num.push(nick).push(user->ident).push(user->dhost).push(ConvToStr(shownts)).push(numerictext);
+ num.push(nick).push(user->ident).push(user->GetDisplayedHost()).push(ConvToStr(shownts)).push(numerictext);
for (IRCv3::Monitor::WatcherList::const_iterator i = list->begin(); i != list->end(); ++i)
{
LocalUser* curr = *i;