Bridging the Bytes for Seamless Conversations 🌉
A basic implementation of an IRC server that handles authentication, user registration, bot, file transfer and several chat commands. 🖥️
🔒 Authentication: Authenticate users with a password.
🖋️ Registration: Register users by setting their nickname (NICK) and real name (USER).
📜 Command Handling: Process various commands like JOIN, BAN, TOPIC and PRIVMSG.
🧑🤝🧑 Multi-Client Handling: Uses poll() system call to handle multiple clients simultaneously.
🤖 Bot: Detects if a user sends messages with bad words in it.
🗂️ File Transfer: It's possible to send files through clients.
A C++ compiler with support for C++11 or newer. Basic knowledge of IRC protocols (optional).
You can compile the project using:
make
And then run the server:
./ircserv <port> <password>
For example:
./ircserv 6667 12345
A huge thank you to my colleagues gacorrei and abaiao-r for their invaluable contributions and insights. This project wouldn't be the same without their assistance. 🙌
This project is licensed under the MIT License - see the LICENSE file for details.