An IRC daemon written in D.
RFCs
- 2810: Internet Relay Chat: Architecture
- 2811: Internet Relay Chat: Channel Management
- 2812: Internet Relay Chat: Client Protocol
- 2813: Internet Relay Chat: Server Protocol
Differences from the RFC
There are many deviations from the spec in the IRC RFC in this server. They are listed below.
- All commands that are not implemented, basically. A (mostly) complete list is below.
- Does not support multiple servers (RFC)
- Does not support netsplit (RFC)
- Wildcards are, at this point, not implemented (RFC)
- No OPER support (RFC)
- Partial MODE support (RFC, partially planned)
- No LIST support (RFC, planned)
- No INVITE support (RFC, planned)
- No VERSION support (RFC)
- No STATS support (RFC)
- No LINKS support (RFC)
- No TIME support (RFC)
- No CONNECT support (RFC)
- No TRACE support (RFC)
- No ADMIN support (RFC)
- No INFO support (RFC)
- No NOTICE support (RFC, planned)
- No "User based queries" (RFC, planned)
- WHO works only on channels (RFC)
- No WHOIS query (RFC)
- No WHOWAS query (RFC)
- None of the "Optionals" are included (RFC)
- No KILL support (RFC)
- Pings are sent at a constant rate, regardless of recent activity. (RFC)
- No ERROR support (RFC)
That seems like a huge list of everything that doesn't work. Some of those are planned, but a lot of things are not included in this server. However, many things still work.
- ISON (RFC)
- JOIN (RFC)
- MODE (RFC) - reading modes (chan & user), setting modes (chan only, currently)
- NAMES on channels (RFC)
- NICK (RFC)
- PART (RFC)
- PASS (RFC)
- PING (RFC) - only sending pings to clients works; receiving pings is not yet supported
- PONG (RFC)
- PRIVMSGs (RFC)
- QUIT (RFC)
- TOPIC (RFC)
- USER (RFC)
- WHO on channels only (RFC)
- (Possible) Ping timeouts may take longer than 120 seconds.