This page lists the tags, capabilities, commands, batches and metadata keys that have been defined by the IRCv3 Working Group, are described by our specifications, or that we otherwise recommend using.
Numerics
Numeric |
Name |
Specs |
Description |
005
|
RPL_ISUPPORT |
|
Lists features supported by the server; sent as connection registration is completed.
(1)
(2)
(3)
|
670
|
RPL_STARTTLS |
starttls
|
Indicates that the client may begin their TLS handshake
|
691
|
ERR_STARTTLS |
starttls
|
Indicates that STARTTLS failed because of an unspecified error
|
730
|
RPL_MONONLINE |
Monitor
|
Indicates to a client that either a target has just become online, or that a target they have added to their monitor list is online
|
731
|
RPL_MONOFFLINE |
Monitor
|
Indicates to a client that either a target has just left the irc network, or that a target they have added to their monitor list is offline
|
732
|
RPL_MONLIST |
Monitor
|
Returns the list of targets that the client has in their monitor list
|
733
|
RPL_ENDOFMONLIST |
Monitor
|
Indicates the end of a monitor list
|
734
|
ERR_MONLISTFULL |
Monitor
|
Indicates to a client that their monitor list is full
|
900
|
RPL_LOGGEDIN |
SASL 3.1,
SASL 3.2
|
Indicates that the client is logged in
|
901
|
RPL_LOGGEDOUT |
SASL 3.1,
SASL 3.2
|
Indicates that the client has been logged out
|
902
|
ERR_NICKLOCKED |
SASL 3.1,
SASL 3.2
|
Indicates that SASL auth failed because the account is currently locked out, held, or otherwise administratively made unavailable
|
903
|
RPL_SASLSUCCESS |
SASL 3.1,
SASL 3.2
|
Indicates that SASL auth finished successfully
|
904
|
ERR_SASLFAIL |
SASL 3.1,
SASL 3.2
|
Indicates that SASL auth failed because of invalid credentials or other errors not explicitly mentioned by other numerics
|
905
|
ERR_SASLTOOLONG |
SASL 3.1,
SASL 3.2
|
Indicates that SASL auth failed because the client-sent AUTHENTICATE command was too long (i.e. the parameter was longer than 400 bytes)
|
906
|
ERR_SASLABORTED |
SASL 3.1,
SASL 3.2
|
Indicates that SASL auth has been aborted because the client sent an AUTHENTICATE command with * as the parameter
|
907
|
ERR_SASLALREADY |
SASL 3.1,
SASL 3.2
|
Indicates that SASL auth failed because the client has already authenticated and the server doesn’t support re-authenticating
|
908
|
RPL_SASLMECHS |
SASL 3.1,
SASL 3.2
|
Sends the SASL mechanisms supported by the server, in response to an incorrectly-sent AUTHENTICATE message
|
Capabilities
Name |
Specs |
Description |
account-notify |
account-notify
|
Notifies clients when other clients in common channels authenticate with or deauthenticate from their account (e.g. NickServ, SASL).
|
account-tag |
account-tag
|
Attaches a tag containing the user’s account to every message they send.
|
away-notify |
away-notify
|
Notifies clients when other clients in common channels go away or come back.
|
batch |
batch
|
Lets the server bundle common messages together, which lets clients be more intelligent about displaying them.
|
cap-notify |
CAP
|
Notifies clients when client capabilities become availiable or are no longer available.
|
chghost |
chghost
|
Enables the CHGHOST message, which lets servers notify clients when another client’s username and/or hostname changes.
|
echo-message |
echo-message
|
Notifies clients when their PRIVMSG and NOTICEs are correctly received by the server.
|
extended-join |
extended-join
|
Extends the JOIN message to include the account name of the joining client.
|
invite-notify |
invite-notify
|
Notifies clients when other clients are invited to common channels.
|
labeled-response |
Labeled responses [draft]
|
Allows clients to correlate requests with server responses
|
message-tags |
Message Tags
|
Allows clients and servers to use tags more broadly
|
metadata |
Metadata 3.2 [deprecated]
|
Lets clients store metadata about themselves with the server, for other clients to request and retrieve later.
|
monitor |
Monitor
|
Lets users request notifications for when clients become online / offline.
|
multi-prefix |
multi-prefix
|
Makes the server send all prefixes in NAMES and WHO output, in order of rank from highest to lowest.
|
sasl |
SASL 3.1,
SASL 3.2
|
Indicates support for SASL auth, a standardised way for clients to identify for an account.
|
server-time |
server-time
|
Lets clients show the actual time messages were received by the server.
|
setname |
setname [draft]
|
Lets clients change their realname after connecting to the server.
|
tls |
starttls
|
Indicates support for the STARTTLS command, which lets clients upgrade their connection to use TLS encryption.
|
userhost-in-names |
userhost-in-names
|
Extends the RPL_NAMREPLY message to contain the full nickmask (nick!user@host) of every user, rather than just the nickname.
|
Name |
Specs |
Description |
account |
account-tag
|
Contains the account name of the user that sent the attached message to the client.
|
batch |
batch
|
Contains the ID of the batch the attached message is a part of.
|
label |
Labeled responses [draft]
|
Allows clients to correlate requests with server responses
|
msgid |
Message IDs
|
Provides a server supplied unique message ID
|
time |
server-time
|
Contains the time that the given message should be treated as happening at.
|
+react |
React client tag [draft]
|
Sends a reaction to a specific sent message.
|
+reply |
Reply client tag [draft]
|
Marks that a given message is intended as a reply to a specific sent message.
|
+typing |
Typing client tag [draft]
|
Allows users to see when other users are typing.
|
Batches
Name |
Specs |
Description |
chathistory |
chathistory Batch Type
|
Indicates that the given messages represent history playback from this channel.
|
labeled-response |
Labeled responses [draft]
|
Allows clients to correlate requests with server responses
|
netjoin |
netsplit and netjoin Batch Types
|
Indicates that the given clients are joining as the result of a netjoin (two split servers reconnecting).
|
netsplit |
netsplit and netjoin Batch Types
|
Indicates that the given clients are quitting as the result of a netsplit (two servers disconnecting).
|
Messages
Name |
Specs |
Description |
AUTHENTICATE |
SASL 3.1,
SASL 3.2
|
Used to login to a client account when SASL authentication is negotiated.
|
ACCOUNT |
account-notify
|
Notifies clients of new logins by friends.
|
CAP |
CAP
|
Lets clients negotiate client capabilities with servers.
|
CHGHOST |
chghost
|
Notifies clients of changed usernames and hostnames of friends
|
INVITE |
invite-notify
|
Not defined by IRCv3 but extended to alert other clients that someone’s been invited to one of their channels.
|
JOIN |
extended-join
|
Not defined by IRCv3 but extended to include usernames and hostnames.
|
METADATA |
Metadata 3.2 [deprecated]
|
Lets clients store metadata about themselves with the server, for other clients to request and retrieve later.
|
MONITOR |
Monitor
|
Existing command which allows clients to see when specific nicknames enter or leave the network.
|
NAMES |
userhost-in-names
|
Not defined by IRCv3 but extended to include account names.
|
STARTTLS |
starttls
|
Allows clients to upgrade their plaintext connections to use TLS encryption.
|
TAGMSG |
Message Tags
|
Lets clients send messages with tags but no text content.
|
WEBIRC |
WebIRC
|
Existing command which provides the real IP address of clients to the server when connecting through a gateway.
|
Key |
Format |
Description |
avatar
|
URL with an optional {size} substitution denoting the size to load in pixels
https://example.com/avatar/16/asdf.jpg
|
Avatar that graphical clients can show alongside the user’s name
|
bot
|
Any string
PacketBot v1.2
JitiBot
melo3
|
Lets bot runners provide the name of their bot software. Setting this key identifies the client as a bot.
|
display-name
|
Any string
James Wheare
Posiden
ダニエル
Борис
|
Alternative name to use instead of a nick for display purposes. Useful for gateways to chat services that allow spaces and other characters in nicks. A nick is required for standard protocol level stuff but can be less prominent in the UI. May contain emoji.
|
homepage
|
Valid URL
https://example.com/bot-info.html
|
URL of a webpage that contains more information about the user/bot themselves, or bot software in use.
|
status
|
Any string
Working from home
|
Status text that can be shown for users without making them ‘away’
|
Command |
Code |
Specs |
Description |
|
ACCOUNT_REQUIRED
|
PR#276 [PR]
|
Indicates that the client must be logged into an account to execute the given command, connect to the server, or otherwise access some functionality
|
ACC
|
ACCOUNT_ALREADY_EXISTS
|
PR#276 [PR]
|
Indicates that the client cannot register because the given account name already exists
|
ACC
|
ACCOUNT_ALREADY_VERIFIED
|
PR#276 [PR]
|
Indicates that the client has already completed verification for their account registration
|
ACC
|
ACCOUNT_INVALID_VERIFY_CODE
|
PR#276 [PR]
|
Indicates that the given account registration verification code is incorrect
|
ACC
|
REG_INVALID_CALLBACK
|
PR#276 [PR]
|
Indicates that the given callback cannot be used (e.g. invalid email address, etc)
|
ACC
|
REG_INVALID_CRED_TYPE
|
PR#276 [PR]
|
Indicates that the given credential type is incorrect
|
ACC
|
REG_INVALID_CREDENTIAL
|
PR#276 [PR]
|
Indicates that the given credential (e.g. the passphrase) cannot be used
|
ACC
|
REG_MUST_USE_REGNICK
|
PR#276 [PR]
|
Indicates that the client must send * as the account name
|
ACC
|
REG_UNAVAILABLE
|
PR#276 [PR]
|
Indicates that account registration is currently unavailable
|
ACC
|
REG_UNSPECIFIED_ERROR
|
PR#276 [PR]
|
Indicates that account registration has otherwise failed
|
ACC
|
VERIFY_UNSPECIFIED_ERROR
|
PR#276 [PR]
|
Indicates that account registration verification has otherwise failed
|
BRB
|
CANNOT_BRB
|
PR#306 [PR]
|
Indicates that the BRB attempt was unsuccessful
|
RESUME
|
CANNOT_RESUME
|
PR#306 [PR]
|
Indicates that the resume attempt was otherwise unsuccessful
|
RESUME
|
INSECURE_SESSION
|
PR#306 [PR]
|
Indicates that either the old or new session was not connected securely
|
RESUME
|
INVALID_TOKEN
|
PR#306 [PR]
|
Indicates that the provided resume token was not correct
|
RESUME
|
REGISTRATION_IS_COMPLETED
|
PR#306 [PR]
|
Indicates that resume failed because connection registration has already completed
|
SETNAME
|
CANNOT_CHANGE_REALNAME
|
setname [draft]
|
Indicates that the realname could not be otherwise changed
|
SETNAME
|
INVALID_REALNAME
|
setname [draft]
|
Indicates that the new realname was invalid
|
Command |
Code |
Specs |
Description |
|
ACCOUNT_REQUIRED
|
PR#276 [PR]
|
Indicates that the client should login into an account
|