X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fcoresessioneventprocessor.cpp;h=220e6b127f708ef40d3ee24c86169c2f5faca99a;hb=322bec12418ab267d7b770ec90465a1a1034b17d;hp=ec988ff5ed7b1ebf10afee0a684939373a1ad037;hpb=1a5c1814a0c52f6f35e65c7033b2f896bf1188e3;p=quassel.git diff --git a/src/core/coresessioneventprocessor.cpp b/src/core/coresessioneventprocessor.cpp index ec988ff5..220e6b12 100644 --- a/src/core/coresessioneventprocessor.cpp +++ b/src/core/coresessioneventprocessor.cpp @@ -361,6 +361,10 @@ void CoreSessionEventProcessor::processIrcEventChghost(IrcEvent* e) } } +// IRCv3 INVITE - ": INVITE " +// Example: :ChanServ!ChanServ@example.com INVITE Attila #channel +// +// See https://ircv3.net/specs/extensions/invite-notify-3.2 void CoreSessionEventProcessor::processIrcEventInvite(IrcEvent* e) { if (checkParamCount(e, 2)) { @@ -789,6 +793,25 @@ void CoreSessionEventProcessor::processIrcEventError(IrcEvent* e) } } + +// IRCv3 SETNAME - ":nick!user@host SETNAME :realname goes here" +// Example: :batman!~batman@bat.cave SETNAME :Bruce Wayne +// +// See https://ircv3.net/specs/extensions/setname +void CoreSessionEventProcessor::processIrcEventSetname(IrcEvent* e) +{ + if (checkParamCount(e, 1)) { + IrcUser* ircuser = e->network()->updateNickFromMask(e->prefix()); + if (!ircuser) { + qWarning() << Q_FUNC_INFO << "Unknown IrcUser!"; + return; + } + + QString newname = e->params().at(0); + ircuser->setRealName(newname); + } +} + #ifdef HAVE_QCA2 void CoreSessionEventProcessor::processKeyEvent(KeyEvent* e) {