This is a list of all Internet Relay Chat commands from RFC 1459, RFC 2812, and extensions added to major IRC daemons. Most IRC clients require commands to be preceded by a slash ("/"). Some commands are actually sent to IRC bots; these are treated by the IRC protocol as ordinary messages, not as /-commands. Conventions used here: Angle brackets ("<" and ">") are used here to indicate a placeholder for some value, and are not a literal part of a command. Square brackets ("[" and "]") are used to indicate that a value is optional.
User commands
ADMIN Syntax:
ADMIN [<target>] Instructs the server to return information about the administrators of the server specified by <target>, where <target> is either a server or a user. If <target> is omitted, the server should return information about the administrators of the current server.
AWAY Syntax:
AWAY [<message>] Provides the server with a message to automatically send in reply to a PRIVMSG directed at the user, but not to a channel they are on. If <message> is omitted, the away status is removed. Defined in RFC 1459.
CNOTICE Syntax:
CNOTICE <nickname> <channel> :<message> Sends a channel NOTICE message to <nickname> on <channel> that bypasses flood protection limits. The target nickname must be in the same channel as the client issuing the command, and the client must be a channel operator. Normally an IRC server will limit the number of different targets a client can send messages to within a certain time frame to prevent spammers or bots from mass-messaging users on the network, however this command can be used by channel operators to bypass that limit in their channel. For example, it is often used by help operators that may be communicating with a large number of users in a help channel at one time. This command is not formally defined in an RFC, but is in use by some IRC networks. Support is indicated in a RPL_ISUPPORT reply (numeric 005) with the CNOTICE keyword
CPRIVMSG Syntax:
CPRIVMSG <nickname> <channel> :<message> Sends a private message to <nickname> on <channel> that bypasses flood protection limits. The target nickname must be in the same channel as the client issuing the command, and the client must be a channel operator. Normally an IRC server will limit the number of different targets a client can send messages to within a certain time frame to prevent spammers or bots from mass-messaging users on the network, however this command can be used by channel operators to bypass that limit in their channel. For example, it is often used by help operators that may be communicating with a large number of users in a help channel at one time. This command is not formally defined in an RFC, but is in use by some IRC networks. Support is indicated in a RPL_ISUPPORT reply (numeric 005) with the CPRIVMSG keyword
CONNECT Syntax:
CONNECT <target server> [<port> [<remote server>]] (RFC 1459) CONNECT <target server> <port> [<remote server>] (RFC 2812) Instructs the server <remote server> (or the current server, if <remote server> is omitted) to connect to <target server> on port <port>. This command should only be available to IRC operators. Defined in RFC 1459; the <port> parameter became mandatory in RFC 2812.
DIE Syntax:
DIE Instructs the server to shut down. This command may only be issued by IRC server operators. Defined in RFC 2812.
ENCAP Syntax:
:<source> ENCAP <destination> <subcommand> <parameters> This command is for use by servers to encapsulate commands so that they will propagate across hub servers not yet updated to support them, and indicates the subcommand and its parameters should be passed unaltered to the destination, where it will be unencapsulated and parsed. This facilitates implementation of new features without a need to restart all servers before they are usable across the network.
ERROR Syntax:
ERROR <error message> This command is for use by servers to report errors to other servers. It is also used before terminating client connections. Defined in RFC 1459.
HELP Syntax:
HELP Requests the server to display the help file. This command is not formally defined in an RFC, but is in use by most major IRC daemons.
INFO Syntax:
INFO [<target>] Returns information about the <target> server, or the current server if <target> is omitted. Information returned includes the server's version, when it was compiled, the patch level, when it was started, and any other information which may be considered to be relevant. Defined in RFC 1459.
INVITE Syntax:
INVITE <nickname> <channel> Invites <nickname> to the channel <channel>. <channel> does not have to exist, but if it does, only members of the channel are allowed to invite other clients. If the channel mode i is set, only channel operators may invite other clients. Defined in RFC 1459.
ISON Syntax:
ISON <nicknames> Queries the server to see if the clients in the space-separated list <nicknames> are currently on the network. The server returns only the nicknames that are on the network in a space-separated list. If none of the clients are on the network the server returns an empty list. Defined in RFC 1459.
JOIN Syntax:
JOIN <channels> [<keys>] Makes the client join the channels in the comma-separated list <channels>, specifying the passwords, if needed, in the comma-separated list <keys>. If the channel(s) do not exist then they will be created. Defined in RFC 1459.
KICK Syntax:
KICK <channel> <client> :[<message>] Forcibly removes <client> from <channel>. This command may only be issued by channel operators. Defined in RFC 1459.
KILL Syntax:
KILL <client> <comment> Forcibly removes <client> from the network. This command may only be issued by IRC operators. Defined in RFC 1459.
KNOCK Syntax:
KNOCK <channel> [<message>] Sends a NOTICE to an invitation-only <channel> with an optional <message>, requesting an invite. This command is not formally defined by an RFC, but is supported by most major IRC daemons. Support is indicated in a RPL_ISUPPORT reply (numeric 005) with the KNOCK keyword.
LINKS Syntax:
LINKS [<remote server> [<server mask>]] Lists all server links matching <server mask>, if given, on <remote server>, or the current server if omitted. Defined in RFC 1459.
LIST Syntax:
LIST [<channels> [<server>]] Lists all channels on the server. If the comma-separated list <channels> is given, it will return the channel topics. If <server> is given, the command will be forwarded to <server> for evaluation. Defined in RFC 1459.
LUSERS Syntax:
… excerpt ends here. Continue reading the full article.
