checks checks checks

This commit is contained in:
mochaoui
2024-04-27 18:09:53 +01:00
parent bb721c9b2a
commit c2a4ad135b
2 changed files with 16 additions and 4 deletions

5
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,5 @@
{
"files.associations": {
"iosfwd": "cpp"
}
}

View File

@@ -645,7 +645,7 @@ void Server::handleClientData(int fd)
} }
if (dontputthesameusername(username) == true) 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); send(fd, confirmation.c_str(), confirmation.length(), 0);
} }
else else
@@ -942,14 +942,21 @@ void Server::handleClientData(int fd)
{ {
std::string channelName, mode , nick; std::string channelName, mode , nick;
int limit; int limit;
std::istringstream iss(command.substr(5)); std::istringstream iss(command.substr(5));
iss >> channelName >> mode >> nick; 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; return;
}
// std::getline(iss, nick); // std::getline(iss, nick);
channelName = channelName.substr(1); channelName = channelName.substr(1);
channelName = trim(channelName); channelName = trim(channelName);
mode = trim(mode); mode = trim(mode);
// if (mode == "+l") // what is this ? // if (mode == "+l") // what is this ?
// nick = trim(nick); // nick = trim(nick);
std::map<std::string, Channel>::iterator it = channels.find(channelName); std::map<std::string, Channel>::iterator it = channels.find(channelName);
@@ -979,7 +986,7 @@ void Server::handleClientData(int fd)
if (channels.find(channelName) != channels.end() && channels[channelName].isOperator(fd)) if (channels.find(channelName) != channels.end() && channels[channelName].isOperator(fd))
{ {
channels[channelName].removeOperator(nick); 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); send(fd, modeChangeMessage.c_str(), modeChangeMessage.size(), 0);
smallbroadcastMOOD(channels[channelName].getNickname(fd), channelName, mode, nick); 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)) 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); send(fd, modeChangeMessage.c_str(), modeChangeMessage.size(), 0);
smallbroadcastMOOD(channels[channelName].getNickname(fd), channelName, mode, nick); smallbroadcastMOOD(channels[channelName].getNickname(fd), channelName, mode, nick);
limitechannel = 0; limitechannel = 0;