IRC Documentation · Intermediate
The IRC protocol: clients, messages, and channels.
IRC is a real-time text-based communication protocol. The client sends commands to the server; the server controls rights, maintains network state, and distributes events to concerned recipients.
Dialova Team · Verified on
In this Category
- Read and analyze the format of an IRC message.Decompose an IRC frame: tags, source, command, parameters, last parameter, and CRLF. Lengths, UTF-8, and pitfalls of a parser on TCP.
- Understand IRC numeric responsesRead IRC numerics: recipient, code, parameters, and text. Examples 001, 005, 311, 353, and errors, without conflating extensions and historical RFCs.
Client, server, network, and IRCd #
The client is the software used for chatting. The server is a connection point. The network optionally connects several servers sharing channels and users. The IRCd is the software that runs a server. Installing the same IRCd as someone else does not place you on their network.
A channel is a discussion space within this network. Private messages typically address an identified presence by a nickname. A nickname change, a services account, and a disconnection are distinct events.
From connection to entering a channel #
- Establish transport and verify TLS when it is used.
- Negotiate useful capabilities and declare NICK/USER.
- Perform SASL if the network and configuration provide for it.
- Terminate the negotiation and wait for registration confirmation.
- Join an authorized channel with JOIN, then read its topic and member list.
USER provides an identifier and a realname, which is not necessarily a true civil name. PASS, when requested, concerns a login password; it is not a universal synonym for service identification. PING/PONG maintains the connection and should not be confused with a chat message.
Channels, Modes, and Operators #
| Concepts | Responsibility |
|---|---|
| User Mode | Ownership of a presence on the network. |
| Channel Mode | Rule or property of a discussion space. |
| Channel Operator | Member possessing rights within a channel. |
| Network Operator (IRCop) | Account or presence possessing network administration permissions. |
| Services | Services such as NickServ or ChanServ, integrated or separate depending on the network. |
The @ symbol in a member list often indicates a channel operator, not a network administrator. PREFIX and CHANMODES in ISUPPORT describe the grammar of modes actually announced; their letters are not an identical list on all IRCd.
CTCP, DCC, History, and Media #
CTCP encapsulates certain conventions between clients within IRC messages; an /me action is typically a CTCP ACTION message. DCC offers a negotiation allowing direct communication between clients, particularly for files. These are not the same mechanisms as hosting an image on a website.
TLS protects a transport. WebSocket adapts the transport to the browser when the infrastructure allows; it does not transform IRC into a video protocol. Webcams and Dialova calls rely on a separate media layer. Histories and persistent accounts also require server, bouncer, or application features.
Sources & Verification
Examples use pseudonyms and fictional domains, except for explicitly documented connection points. Network-specific extensions and settings are noted in the text.
- Modern IRC — spécification du protocole client ↗Source Specification · consulted on 2026-10-29
- RFC 2812 — Client Protocol (2000) ↗Source Historical · consulted on 2026-10-29
- IRCv3 — catalogue des spécifications ↗Source Specification · consulted on 2026-10-29
- RFC 7194 — port IRC sur TLS ↗Source Specification · consulted on 2026-10-29