Internet Relay Chat (IRC) is a text-based protocol for real-time discussion. Its command set lets clients and servers exchange actions such as joining channels, sending messages, changing nicknames, and administering channels. The core commands and their expected parameters are defined in standards such as RFC 1459 and RFC 2812, though individual networks often add extensions. In many client interfaces typed commands begin with a slash ("/") to distinguish them from ordinary chat text.
Common commands and brief examples
- NICK — set or change your nickname. Example: /nick NewName.
- USER — provide user information on initial connection (protocol-level).
- JOIN — enter a channel. Example: /join #room or /join #room secret when a key is required.
- PART — leave a channel. Example: /part #room.
- PRIVMSG — send a private or channel message. Clients surface this as typing into a channel or with /msg nick.
- NOTICE — like PRIVMSG but intended for automated or important notices; many clients treat it differently.
- MODE — change user or channel modes (flags, operator status, bans). Often used to set channel privacy or to add bans.
- KICK — remove a user from a channel; often paired with MODE +b for banning.
- WHOIS / WHO — query information about users or channel membership.
- QUIT — disconnect from the server, optionally with a message.
- PING / PONG — keepalive and latency checks exchanged between client and server or between servers.
Command structure and syntax conventions
IRC protocol messages follow a specific wire format; commands include a command token and one or more parameters. Documentation commonly uses angle brackets (<>) to indicate required parameters and square brackets ([]) to mark optional ones. For example, a client-oriented syntax might be shown as /join <#channel> [<key>]. Command names are usually case-insensitive at the protocol level. Servers also return numeric replies for status and errors; these numeric replies supplement textual messages for programmatic handling.
History, standards, and extensions
IRC originated in the late 1980s and was standardized by IETF documents such as RFC 1459 and later RFC 2812, which clarified server-to-client and client-to-server behavior. Because IRC grew organically across many networks, many nonstandard commands and extensions exist: for example, additional channel modes, extended query commands, or services commands implemented by third-party bots. Compatibility between clients and networks depends on how strictly they adhere to the RFCs.
Usage notes and distinctions
Users typically invoke commands via a leading slash in interactive clients; the slash is a client convenience and not part of the protocol messages sent over the network. Operators and servers have privileged commands (OPER, KILL, SQUIT) that ordinary users cannot use. Administrators should be aware of security and abuse vectors — for instance, unilateral network-wide commands or automated scripts that misapply KICK or KILL can disrupt communities. For authoritative protocol details and the formal command list consult the RFCs and documentation maintained by networks and clients: see relevant standards and references.
Further distinctions and tips
Different clients provide shorthand aliases (e.g., /msg, /me) and graphical conveniences while mapping them to the underlying IRC commands. When writing scripts or bots, prefer protocol forms and handle numeric replies to ensure robust behavior across networks. Finally, remember that many modern chat systems adopt IRC-like concepts but use different command sets and extensions.