ft_irc is a project from the 42 school, focused on creating an IRC server following standard internet communication protocols. The server's performance is evaluated using a real IRC client.
- π Table of Contents
- π¨βπ« Quick demonstration
- π¦ Installation
- π Usage
- π Example
- π References
basic-demo.mov
Basic demonstration
bot-demo.mov
Demonstration with our chatbot powered with OpenAI.
Clone the repository from GitHub:
git clone https://github.com/okbrandon/ft_irc.gitCompile the server executable:
makeCompile the server executable with debug logs:
make logsWith this executable you'll be able to see every input going to the server and every output from the server.
Note
The executable contains the mandatory and bonus part combined.
Our reference client is IRSSI.
Run the server executable:
./ircserv <port> <password>Where the
portparameter is on which your IRC server will be listening to for incoming IRC connections. Andpasswordis the connection password. It will be needed by any IRC client that tries to connect to your server.
Note
Be aware that the port should only be between 1 inclusive and 65535 exclusive.
The subject asks to implement the following commands: KICK, TOPIC, INVITE and MODE with the flags i, t, k, o and l.
We also implemented other commands such as: PRIVMSG, CAP, JOIN, NICK, PART, PING, QUIT and USER.
When joining the server with our reference client, you should be automatically authentified.

From here you can send other commands, for instance if you want to create a channel or join an existing one use: /JOIN myChannel. Now you're inside a channel, you can send messages and do what ever you want on this wonderful server! :)

bsoubaig - bsoubaig@student.42nice.fr
evmorvan - evmorvan@student.42nice.fr