diff --git a/backends/libcommuni/session.cpp b/backends/libcommuni/session.cpp index 64993a6cace43eca1f32178531184cefa34cae92..203a748a471bc27a2f8f20183863e9da6c38a61b 100644 --- a/backends/libcommuni/session.cpp +++ b/backends/libcommuni/session.cpp @@ -272,6 +272,22 @@ void MyIrcSession::on_numericMessageReceived(IrcMessage *message) { case 432: np->handleDisconnected(user, pbnetwork::CONNECTION_ERROR_INVALID_USERNAME, "Erroneous Nickname"); break; + case 433: + for(AutoJoinMap::iterator it = m_autoJoin.begin(); it != m_autoJoin.end(); it++) { + np->handleParticipantChanged(user, TO_UTF8(nickName()), it->second->getChannel() + suffix, pbnetwork::PARTICIPANT_FLAG_CONFLICT); + } + np->handleDisconnected(user, pbnetwork::CONNECTION_ERROR_INVALID_USERNAME, "Nickname is already in use"); + break; + case 436: + for(AutoJoinMap::iterator it = m_autoJoin.begin(); it != m_autoJoin.end(); it++) { + np->handleParticipantChanged(user, TO_UTF8(nickName()), it->second->getChannel() + suffix, pbnetwork::PARTICIPANT_FLAG_CONFLICT); + } + np->handleDisconnected(user, pbnetwork::CONNECTION_ERROR_INVALID_USERNAME, "Nickname collision KILL"); + case 464: + for(AutoJoinMap::iterator it = m_autoJoin.begin(); it != m_autoJoin.end(); it++) { + np->handleParticipantChanged(user, TO_UTF8(nickName()), it->second->getChannel() + suffix, pbnetwork::PARTICIPANT_FLAG_NOT_AUTHORIZED); + } + np->handleDisconnected(user, pbnetwork::CONNECTION_ERROR_INVALID_USERNAME, "Password incorrect"); case 321: m_rooms.clear(); m_names.clear(); @@ -287,6 +303,10 @@ void MyIrcSession::on_numericMessageReceived(IrcMessage *message) { break; } + if (m->code() >= 400 && m->code() < 500) { + LOG4CXX_INFO(logger, user << ": Error message received: " << message->toData().data()); + } + //qDebug() << "numeric message received:" << receiver() << origin << code << params; }