Skip to content

mrabourd/IRC-42

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IRC 42

Internet Relay Chat

Description

Internet Relay Chat or IRC is a text-based communication protocol on the Internet. It offers real-time messaging that can be either public or private. Users can exchange direct messages and join group channels. IRC clients connect to IRC servers in order to join channels. IRC servers are connected together to form a network.

Rules

  • The code should comply with the C++ 98 standard>
  • Compile the code with c++ and the flags -Wall -Wextra -Werror

Requirements

The executable will be run as follows:

./ircserv <port> <password>
  • port: The port number on which your IRC server will be listening to for incoming IRC connections.
  • password: The connection password. It will be needed by any IRC client that tries to connect to your server.

Using your reference client with your server must be similar to using it with any official IRC server. However, you only have to implement the following features:

  • You must be able to authenticate, set a nickname, a username, join a channel, send and receive private messages using your reference client.
  • All the messages sent from one client to a channel have to be forwarded to every other client that joined the channel.
  • You must have operators and regular users.
  • Then, you have to implement the commands that are specific to channel operators:

∗ KICK - Eject a client from the channel ∗ INVITE - Invite a client to a channel ∗ TOPIC - Change or view the channel topic ∗ MODE - Change the channel’s mode: · i: Set/remove Invite-only channel · t: Set/remove the restrictions of the TOPIC command to channel operators · k: Set/remove the channel key (password) · o: Give/take channel operator privilege

About

Internet Relay Chat

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published