From c2a4ad135b6318ff5897b41375504064c9f70429 Mon Sep 17 00:00:00 2001 From: mochaoui Date: Sat, 27 Apr 2024 18:09:53 +0100 Subject: [PATCH] checks checks checks --- .vscode/settings.json | 5 +++++ Server.cpp | 15 +++++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..ce48fa6 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.associations": { + "iosfwd": "cpp" + } +} \ No newline at end of file diff --git a/Server.cpp b/Server.cpp index e721372..2d08bad 100644 --- a/Server.cpp +++ b/Server.cpp @@ -645,7 +645,7 @@ void Server::handleClientData(int fd) } if (dontputthesameusername(username) == true) { - std::string confirmation = "Please Use a Different Nickname : \n"; + std::string confirmation = "Please Use a Different username : \n"; send(fd, confirmation.c_str(), confirmation.length(), 0); } else @@ -942,14 +942,21 @@ void Server::handleClientData(int fd) { std::string channelName, mode , nick; int limit; + std::istringstream iss(command.substr(5)); iss >> channelName >> mode >> nick; - if (iss.fail()) + if (channelName[0] != '#') + { + std::string errorMessage = ":server.host NOTICE " + nick + " :Error: Channel start with #\r\n"; + send(fd, errorMessage.c_str(), errorMessage.length(), 0); return; + + } // std::getline(iss, nick); channelName = channelName.substr(1); channelName = trim(channelName); mode = trim(mode); + // if (mode == "+l") // what is this ? // nick = trim(nick); std::map::iterator it = channels.find(channelName); @@ -979,7 +986,7 @@ void Server::handleClientData(int fd) if (channels.find(channelName) != channels.end() && channels[channelName].isOperator(fd)) { channels[channelName].removeOperator(nick); - std::string modeChangeMessage = ":server.host MODE #" + channelName + " " + mode + " by " + channels[channelName].getNickname(fd) + " and set " + nick + " as operator\n"; + std::string modeChangeMessage = ":server.host MODE #" + channelName + " " + mode + " by " + channels[channelName].getNickname(fd) + " and unset " + nick + " as operator\n"; send(fd, modeChangeMessage.c_str(), modeChangeMessage.size(), 0); smallbroadcastMOOD(channels[channelName].getNickname(fd), channelName, mode, nick); } @@ -1106,7 +1113,7 @@ void Server::handleClientData(int fd) { if (channels.find(channelName) != channels.end() && channels[channelName].isOperator(fd)) { - std::string modeChangeMessage = ":server.host MODE #" + channelName + " +l by " + channels[channelName].getNickname(fd) + "\n"; + std::string modeChangeMessage = ":server.host MODE #" + channelName + " -l by " + channels[channelName].getNickname(fd) + "\n"; send(fd, modeChangeMessage.c_str(), modeChangeMessage.size(), 0); smallbroadcastMOOD(channels[channelName].getNickname(fd), channelName, mode, nick); limitechannel = 0;