A basic Internet Relay Chat (IRC) server and Automated Client (Bot) compatible with RFCs 1459, 2810, 2811, 2812, and 2813.
- Full support for user authentication and registration.
- Channel management, including creation, moderation.
- Extensible commands and modes for both users and channels.
- Logging capabilities.
- File transfer.
- Bot building support.
- Compatibility with popular IRC clients.
-
Clone the repository:
git clone https://github.com/Raimo33/IRC.git CD ft_irc
-
Build the server:
make ircserv
-
Run the server:
./ircserv <port> <password>
-
Build the bot:
make beetlebot
-
Run the bot:
./beetlebot <ip> <port> [<password>]
Detailed documentation is available in the Wiki. It includes installation guides, configuration options, and usage instructions.
<message> ::= [':' <prefix> <SPACE>] <command> <params> <crlf>
<prefix> ::= <servername> | <nick> ['!' <user>] ['@' <host>]
<command> ::= <letter> {<letter>} | <number> <number> <number>
<params> ::= <SPACE> [':' <trailing> | <middle> <params>]
<middle> ::= <Any *non-empty* sequence of octets not including SPACE
or NUL or CR or LF, the first of which may not be ':'>
<trailing> ::= <Any, possibly *empty*, sequence of octets not including
NUL or CR or LF>
<SPACE> ::= ' ' { ' ' }
<crlf> ::= CR LF