Skip to content

Rasaboun/ft_irc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌐 ft_irc 42cursus project 🌐

irc.webm

IRC server in C++ 98

About

The goal of the project is to develop an IRC server in C++ 98

🔨 Usage

Make && ./ircserv [Port] [Password]

Then you can connect using an IRC client, such as irssi, which the server has been developped for.

Project Structure

.
├── 📁include/
│   ├── Client.hpp
│   ├── Channel.hpp
│   ├── Command.hpp
│   ├── Ircserver.hpp
│   ├── Message.hpp
│   └── ft_irc.hpp
├── 📁srcs/
│   └── *.cpp
└── Makefile

📖 Features

This project has been made following this documentation. However, it does not implements every single features, such as multi server or some commands.

Command

These are all the commands implemented in the server.

CAP PASS NICK USER OPER MODE QUIT MSG JOIN PART PING PONG TOPIC LIST INVITE KICK WHO KILL WALLOPS NOTICE WHOIS

Channels

You can join/create a channel using JOIN command. We implemented channel modes aswell. Inside a channel, use MODE +[modes] to enable some modes or MODE -[modes] to disable.

Supported channel modes:

  • k adds a password to a channel
  • i channel is in invite only mode
  • l limits the number of members
  • m only authorized members of channel are allowed to talk
  • n the channel can not receive messages from external users
  • s channel is hidden from non-member users
  • t only channel administrators can edit the topic
  • b target user is banned from the channel
  • o target user becomes a channel administrator

User modes

Users can change their mode using MODE +[modes].

Supported user modes:

  • o user becomes server administrator (password is required)
  • i user is hidden from other users
  • o user receives WALLOPS messages

About

The goal of the project is to develop an IRC server in C++ 98

Topics

Resources

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •