X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcoresessioneventprocessor.cpp;fp=src%2Fcore%2Fcoresessioneventprocessor.cpp;h=6142fa86322afba3e3044bf8bf24391090646054;hp=ec988ff5ed7b1ebf10afee0a684939373a1ad037;hb=4e40c486dea949244b73beaf73d5ceb1ef591b5b;hpb=ec58ac2059020bd613c3970494908a694b54a7db diff --git a/src/core/coresessioneventprocessor.cpp b/src/core/coresessioneventprocessor.cpp index ec988ff5..6142fa86 100644 --- a/src/core/coresessioneventprocessor.cpp +++ b/src/core/coresessioneventprocessor.cpp @@ -789,6 +789,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) {