mode response ban list
This commit is contained in:
parent
33e2faea4f
commit
ad04ac5c7e
@ -6,7 +6,7 @@
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/12/01 17:27:37 by apommier #+# #+# */
|
||||
/* Updated: 2023/03/09 01:11:57 by apommier ### ########.fr */
|
||||
/* Updated: 2023/03/09 03:07:21 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -241,7 +241,8 @@ void parse_commands(std::string buffer, fdList &allFds, int userNbr);
|
||||
/* ******************************MODE UTILS********************************** */
|
||||
/* ************************************************************************** */
|
||||
|
||||
std::string chan_reply(channelData &chan, clientData &user);
|
||||
std::string user_reply(clientData &user);
|
||||
void ban_reply(channelData &chan, clientData &user);
|
||||
void chan_reply(channelData &chan, clientData &user);
|
||||
void user_reply(clientData &user);
|
||||
int search_and_erase(std::string &str, std::string toFind);
|
||||
bool str_to_int(int &i, const std::string s);
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/02/19 22:10:07 by apommier #+# #+# */
|
||||
/* Updated: 2023/03/09 01:48:54 by apommier ### ########.fr */
|
||||
/* Updated: 2023/03/09 03:11:17 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -30,6 +30,7 @@ void leave_chan(fdList &allFds, std::string chan, int userNbr, std::string msg)
|
||||
//del_user_in_chan(&allFds.userData[userNbr], &allFds.channelList[chanPos]);
|
||||
int pos = find_client_list(allFds.channelList[chanPos].userList, &allFds.userData[userNbr]);
|
||||
allFds.channelList[chanPos].userList.erase(allFds.channelList[chanPos].userList.begin() + pos);
|
||||
allFds.channelList[chanPos].nbrUser--;
|
||||
del_chan_in_user(&allFds.userData[userNbr], &allFds.channelList[chanPos]);
|
||||
//:WiZ!jto@tolsun.oulu.fi PART #playzone :I lost
|
||||
//:awd!kinou@kinou PART #test
|
||||
@ -51,6 +52,7 @@ void leave_chan(fdList &allFds, std::string chan, int userNbr, std::string msg)
|
||||
// reply += "\n";
|
||||
std::cout << "leave msg=" << reply << std::endl;
|
||||
send(allFds.userData[userNbr].fd, reply.c_str(), reply.size(), 0);
|
||||
//allFds.channelList[chanPos].nbrUser--;
|
||||
for (int i = 0; i < allFds.channelList[chanPos].nbrUser; i++)
|
||||
{
|
||||
if (allFds.channelList[chanPos].userList[i]->mode.s)
|
||||
|
||||
@ -6,15 +6,27 @@
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/03/09 00:13:32 by apommier #+# #+# */
|
||||
/* Updated: 2023/03/09 01:47:02 by apommier ### ########.fr */
|
||||
/* Updated: 2023/03/09 02:30:14 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "../../../includes/ft_irc.hpp"
|
||||
|
||||
// std::string ban_reply
|
||||
void ban_reply(channelData &chan, clientData &user)
|
||||
{
|
||||
std::string endReply;
|
||||
std::string fullReply;
|
||||
std::string reply = ":irc.local 367 " + user.nickname + " " + chan.name + " ";
|
||||
for (size_t i = 0; i < chan.banList.size(); i++)
|
||||
{
|
||||
fullReply = reply + chan.banList[i]->nickname + "!" + chan.banList[i]->userName + "@" + chan.banList[i]->hostName + "\n";
|
||||
send(user.fd, fullReply.c_str(), fullReply.size(), 0);
|
||||
}
|
||||
endReply = ":irc.local 367 " + user.nickname + " " + chan.name + " :End of channel ban list\n";
|
||||
send(user.fd, endReply.c_str(), endReply.size(), 0);
|
||||
}
|
||||
|
||||
std::string chan_reply(channelData &chan, clientData &user)
|
||||
void chan_reply(channelData &chan, clientData &user)
|
||||
{
|
||||
//:irc.server.com 324 ClientName #channel +tnkLs 10 operator1 operator2
|
||||
(void) chan;
|
||||
@ -41,12 +53,13 @@ std::string chan_reply(channelData &chan, clientData &user)
|
||||
reply += chan.maxUser;
|
||||
for (size_t i = 0; i < chan.opList.size(); i++)
|
||||
reply += " " + chan.opList[i]->nickname;
|
||||
send(user.fd, reply.c_str(), reply.size(), 0);
|
||||
//if (reply.size() > 2)
|
||||
// reply_begin += reply;
|
||||
return (reply);
|
||||
//return (reply);
|
||||
}
|
||||
|
||||
std::string user_reply(clientData &user)
|
||||
void user_reply(clientData &user)
|
||||
{
|
||||
//:irc.server.com 221 ClientName +ix
|
||||
|
||||
@ -61,7 +74,7 @@ std::string user_reply(clientData &user)
|
||||
reply += 'w';
|
||||
if (user.mode.o)
|
||||
reply += 'o';
|
||||
return (reply);
|
||||
send(user.fd, reply.c_str(), reply.size(), 0);
|
||||
}
|
||||
|
||||
int search_and_erase(std::string &str, std::string toFind)
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/02/12 20:38:50 by apommier #+# #+# */
|
||||
/* Updated: 2023/03/09 02:10:41 by apommier ### ########.fr */
|
||||
/* Updated: 2023/03/09 02:17:28 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -53,7 +53,7 @@ void delete_user(fdList &allFds, int userNbr)
|
||||
|
||||
for (size_t i = 0; i < allFds.channelList.size(); i++)//all joined chan
|
||||
{
|
||||
del_user_in_chan(&allFds.userData[userNbr], allFds.channelList[i]);
|
||||
del_user_in_chan(&allFds.userData[userNbr], &allFds.channelList[i]);
|
||||
//allFds.userData[userNbr].joinedChan[i].erase(find_user_in_chan(allFds.userData[userNbr].joinedChan[i])/*find user in chan*/)
|
||||
}
|
||||
close(allFds.userData[userNbr].fd);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user