+void UserInputHandler::handleBan(const BufferInfo &bufferInfo, const QString &msg) {
+ if(bufferInfo.type() != BufferInfo::ChannelBuffer)
+ return;
+
+ //TODO: find suitable default hostmask if msg gives only nickname
+ // Example: MODE &oulu +b *!*@*
+ QByteArray banMsg = serverEncode(bufferInfo.bufferName()) + " +b " + channelEncode(bufferInfo.bufferName(), msg);
+ emit putCmd("MODE", banMsg);
+}
+
+void UserInputHandler::handleCtcp(const BufferInfo &bufferInfo, const QString &msg) {
+ Q_UNUSED(bufferInfo)
+ QString nick = msg.section(' ', 0, 0);
+ QString ctcpTag = msg.section(' ', 1, 1).toUpper();
+ if (ctcpTag.isEmpty()) return;
+ QString message = "";
+ QString verboseMessage = tr("sending CTCP-%1 request").arg(ctcpTag);
+
+ if(ctcpTag == "PING") {
+ uint now = QDateTime::currentDateTime().toTime_t();
+ message = QString::number(now);
+ }
+
+ networkConnection()->ctcpHandler()->query(nick, ctcpTag, message);
+ emit displayMsg(Message::Action, BufferInfo::StatusBuffer, "", verboseMessage, network()->myNick());
+}
+
+void UserInputHandler::handleDeop(const BufferInfo &bufferInfo, const QString &msg) {