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.git
Compile the server
executable:
make
Compile the server
executable with debug logs:
make logs
With 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
port
parameter is on which your IRC server will be listening to for incoming IRC connections. Andpassword
is 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