Added MODE and invite only functionality

This commit is contained in:
iherman-
2026-05-23 18:39:18 +02:00
parent 982ca33116
commit dd4de38e5f
9 changed files with 124 additions and 36 deletions

View File

@@ -24,9 +24,13 @@ class Channel
{
private:
std::string name_;
std::set<int> members_;
std::set<int> members_;
std::set<int> operators_;
bool isInviteOnly_;
std::set<int> invitedMembers_;
public:
Channel();
Channel(std::string &name);
@@ -39,7 +43,6 @@ class Channel
std::string getName() const;
const std::set<int> &getMembers() const;
// Users
void addMember(int fd);
void removeMember(int fd);
@@ -50,8 +53,15 @@ class Channel
void removeOperator(int fd);
bool hasOperator(int fd) const;
void broadcast(const std::string &msg, std::map<int, User> &clients, int excludedFd);
void inviteMember(User& client); // not implemented
void broadcast(const std::string &msg, const std::map<int, User> &clients, int excludedFd);
// modes
void setMode(std::string& mode, std::string& args);
bool isInviteOnly() const;
bool isInvited(int fd) const;
};