Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bebalix/irc

Recreate an IRC chat [Internet Relay Chat: TCP/IP protocol to communicate by message on the internet] with basics commands in c++
https://github.com/bebalix/irc

42project chat cpp98 protocol server tcp-ip

Last synced: 24 days ago
JSON representation

Recreate an IRC chat [Internet Relay Chat: TCP/IP protocol to communicate by message on the internet] with basics commands in c++

Awesome Lists containing this project

README

        

# IRC

School 42 project: (group)

Server : ```./ircserv ```

Client : cd Client/ ```./sic -h -p [-n ] [-k ]```

Recreate an IRC chat [Internet Relay Chat: TCP/IP protocol to communicate by message on the internet] with the following basic commands:

**ALL USERS**
- PASS password
- NICK nickname
- USER username
- JOIN #channel *key*
- TOPIC #channel *:topic*
- PRIVMSG receiver :text_to_be_sent
- PART #channel *:reason*
- LIST *channel*
- QUIT *:message*

**OPERATORS'S CHANNEL**
- KICK #channel nickname *:comment*
- INVITE nickname #channel
- TOPIC #channel *:topic*
- MODE #channel +|- i|t|k|o|l *limit* *user*

> _Various information_
- Operator's channel only :
- INVITE : Send an invitation to someone to enter a specific channel
- KICK : Kick someone from the channel and send a notification to all user's channel
- MODE : Change the channel’s mode by an operator
- 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
- l : Set/remove the user limit to channel

- All users :
- PASS : Set the password for the connection with server
- NICK : Set the Nickname
- USER : Set the Username
- JOIN : Create or join a channel(s)
- TOPIC : Display or set a specific channel topic
- PART : To exit a a one or more channel(s)
- LIST : List all the channels or the member's channel if the channel is specified
- PRIVMSG : Send a message to a user(s) or a channel(s)
- QUIT : Quit the server with or without a reason

## IRC protocol
- The IRC protocol uses a system of servers and clients to allow users to connect to discussion channels in real time.
- IRC clients must connect to an IRC server using a nickname, username and password, then they can join public or private chat channels.
- IRC commands are used to perform actions, such as joining a channel, leaving a channel, sending a private message, etc.
- IRC channel operators are users who have special privileges on a channel, such as kicking other users or changing channel settings.