QString MessageFormatter::formatKickMessage(IrcKickMessage* message) const { const QString sender = formatSender(message->sender()); const QString user = formatUser(message->user()); if (!message->reason().isEmpty()) return tr("! %1 kicked %2 (%3)").arg(sender, user, message->reason()); else return tr("! %1 kicked %2").arg(sender, user); }
void ResultFormatter::formatResultWithCj(const GameContext &context) { _writer.StartObject(); formatStatus(true); formatUser(context); JSON_KEY(ResultStr::sLoginInfo); formatLoginInfo(context); _writer.EndObject(); }
QString MessageFormatter::formatNumericMessage(IrcNumericMessage* message) const { if (message->code() == Irc::RPL_WELCOME) d.receivedCodes.clear(); d.receivedCodes += message->code(); if (message->code() < 300) return tr("[INFO] %1").arg(formatHtml(MID_(1))); if (QByteArray(Irc::toString(message->code())).startsWith("ERR_")) return tr("[ERROR] %1").arg(formatHtml(MID_(1))); switch (message->code()) { case Irc::RPL_MOTDSTART: case Irc::RPL_MOTD: return tr("[MOTD] %1").arg(formatHtml(MID_(1))); case Irc::RPL_ENDOFMOTD: return QString(); case Irc::RPL_AWAY: return tr("! %1 is away (%2)").arg(P_(1), MID_(2)); case Irc::RPL_ENDOFWHOIS: return QString(); case Irc::RPL_WHOISOPERATOR: case Irc::RPL_WHOISMODES: // "is using modes" case Irc::RPL_WHOISREGNICK: // "is a registered nick" case Irc::RPL_WHOISHELPOP: // "is available for help" case Irc::RPL_WHOISSPECIAL: // "is identified to services" case Irc::RPL_WHOISHOST: // nick is connecting from <...> case Irc::RPL_WHOISSECURE: // nick is using a secure connection return tr("! %1").arg(MID_(1)); case Irc::RPL_WHOISUSER: return tr("! %1 is %2@%3 (%4)").arg(P_(1), P_(2), P_(3), formatHtml(MID_(5))); case Irc::RPL_WHOISSERVER: return tr("! %1 is online via %2 (%3)").arg(P_(1), P_(2), P_(3)); case Irc::RPL_WHOISACCOUNT: // nick user is logged in as return tr("! %1 %3 %2").arg(P_(1), P_(2), P_(3)); case Irc::RPL_WHOWASUSER: return tr("! %1 was %2@%3 %4 %5").arg(P_(1), P_(2), P_(3), P_(4), P_(5)); case Irc::RPL_WHOISIDLE: { QDateTime signon = QDateTime::fromTime_t(P_(3).toInt()); QTime idle = QTime().addSecs(P_(2).toInt()); return tr("! %1 has been online since %2 (idle for %3)").arg(P_(1), signon.toString(), idle.toString()); } case Irc::RPL_WHOISCHANNELS: return tr("! %1 is on channels %2").arg(P_(1), P_(2)); case Irc::RPL_CHANNELMODEIS: return tr("! %1 mode is %2").arg(P_(1), P_(2)); case Irc::RPL_CHANNEL_URL: return tr("! %1 url is %2").arg(P_(1), formatHtml(P_(2))); case Irc::RPL_CREATIONTIME: { QDateTime dateTime = QDateTime::fromTime_t(P_(2).toInt()); return tr("! %1 was created %2").arg(P_(1), dateTime.toString()); } case Irc::RPL_NOTOPIC: return tr("! %1 has no topic set").arg(P_(1)); case Irc::RPL_TOPIC: return tr("! %1 topic is \"%2\"").arg(P_(1), formatHtml(P_(2))); case Irc::RPL_TOPICWHOTIME: { QDateTime dateTime = QDateTime::fromTime_t(P_(3).toInt()); return tr("! %1 topic was set %2 by %3").arg(P_(1), dateTime.toString(), formatUser(P_(2), d.stripNicks)); } case Irc::RPL_INVITING: return tr("! inviting %1 to %2").arg(formatUser(P_(1)), P_(2)); case Irc::RPL_VERSION: return tr("! %1 version is %2").arg(formatSender(message->sender()), P_(1)); case Irc::RPL_TIME: return tr("! %1 time is %2").arg(formatUser(P_(1)), P_(2)); case Irc::RPL_UNAWAY: case Irc::RPL_NOWAWAY: return tr("! %1").arg(P_(1)); case Irc::RPL_NAMREPLY: if (d.receivedCodes.contains(Irc::RPL_ENDOFNAMES)) { int count = message->parameters().count(); QString channel = message->parameters().value(count - 2); QStringList names; foreach (const QString& name, message->parameters().value(count - 1).split(" ", QString::SkipEmptyParts)) names += IrcSender(name).name(); return tr("! %1 users: %2").arg(channel).arg(names.join(" ")); } return QString(); case Irc::RPL_ENDOFNAMES: if (d.userModel && !d.receivedCodes.mid(0, d.receivedCodes.count() - 1).contains(Irc::RPL_ENDOFNAMES)) return tr("! %1 has %2 users").arg(message->parameters().value(1)).arg(d.userModel->rowCount()); return QString(); default: return tr("[%1] %2").arg(message->code()).arg(QStringList(message->parameters().mid(1)).join(" ")); }
QString MessageFormatter::formatNickMessage(IrcNickMessage* message) const { const QString sender = formatSender(message->sender()); const QString nick = formatUser(message->nick()); return tr("! %1 changed nick to %2").arg(sender, nick); }