diff --git a/backends/libcommuni/session.cpp b/backends/libcommuni/session.cpp index 2eabfe96040b267ff346b7839166220866c61eb2..6abdb4dba9da8c5b5feedb77b51e22400c96ff81 100644 --- a/backends/libcommuni/session.cpp +++ b/backends/libcommuni/session.cpp @@ -158,20 +158,25 @@ void MyIrcSession::on_messageReceived(IrcMessage *message) { } } + QString msg = m->message(); + if (m->isAction()) { + msg = QString("/me ") + msg; + } + std::string target = TO_UTF8(m->target()); LOG4CXX_INFO(logger, user << ": Message from " << target); if (target.find("#") == 0) { bool flags = 0; std::string nickname = TO_UTF8(m->sender().name()); flags = correctNickname(nickname); - np->handleMessage(user, target + suffix, TO_UTF8(m->message()), nickname); + np->handleMessage(user, target + suffix, TO_UTF8(msg), nickname); } else { bool flags = 0; std::string nickname = TO_UTF8(m->sender().name()); flags = correctNickname(nickname); LOG4CXX_INFO(logger, nickname + suffix); - np->handleMessage(user, nickname + suffix, TO_UTF8(m->message())); + np->handleMessage(user, nickname + suffix, TO_UTF8(msg)); } }