X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fuserinputhandler.cpp;h=9007b0f4586b02e6ec4b5c77869e3626a3ea42e1;hb=ba1cff451371eda2cb27a4cc7de2196e68fcc8f7;hp=2ecb58dd3e5ff5cebe8d2461df0d9c1bc7e259bf;hpb=5bca6848948961932673164124e5a758fff22ce8;p=quassel.git diff --git a/src/core/userinputhandler.cpp b/src/core/userinputhandler.cpp index 2ecb58dd..9007b0f4 100644 --- a/src/core/userinputhandler.cpp +++ b/src/core/userinputhandler.cpp @@ -66,6 +66,24 @@ void UserInputHandler::handleBan(QString bufname, QString msg) { emit putCmd("MODE", banMsg); } +void UserInputHandler::handleCtcp(QString bufname, QString msg) { + QStringList params = msg.split(" ", QString::SkipEmptyParts); + if (params.size() != 2) { + // qDebug() << "Ctcp-Request-Error: not exactly two parameters ->" << msg; + return; + } + params[1] = params[1].toUpper(); + QString verboseMessage = tr("sending CTCP-%1-request").arg(params[1]); + if(params[1] == "PING") { + uint now = QDateTime::currentDateTime().toTime_t(); + params.append(QString::number(now)); + } else { + params.append(""); + } + server->ctcpHandler()->query(params[0], params[1], params[2]); + emit displayMsg(Message::Action, "", verboseMessage, network()->myNick()); +} + void UserInputHandler::handleDeop(QString bufname, QString msg) { QStringList nicks = msg.split(' ', QString::SkipEmptyParts); QString m = "-"; for(int i = 0; i < nicks.count(); i++) m += 'o';