List of IRC commands: Difference between revisions

Content deleted Content added
m See also: already linked
m minor cleanup - no factual changes; sort out nowiki markup, clean up english at intro; some wikilinks added
Tag: nowiki added
Line 3:
Do NOT include service-specific commands on this list. THEY WILL BE REMOVED.
-->
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 ("<code>/"). Angle brackets ("<" and "code>") denote what's placed in the encapsulated field, not a literal part of the command. Arguments encapsulated in square brackets ("[" and "]") are optional and override the command's defaults. Some commands are actually sent to [[IRC bot]]s; these are treated by the IRC protocol as ordinary messages, not as <code>/ </code>-commands.
 
Conventions used here: Angle brackets ("&lt;" and "&gt;") 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 <i>optional</i>.
 
== User commands ==
Line 12 ⟶ 14:
:<code>ADMIN [<nowiki><target></nowiki>]</code>
 
Instructs the [[server]] to return information about the administrators of the server specified by <nowiki><target></nowiki>, where <nowiki><target></nowiki> is either a server or a user. If <nowiki><target></nowiki> is omitted, the server should return information about the administrators of the current server.<ref>{{cite IETF
| rfc = 1459
| sectionname = Admin command
Line 32 ⟶ 34:
| idanchor = ietf
}}</ref>
If <nowiki><message></nowiki> is omitted, the away status is removed. Defined in RFC 1459.
 
Defined in RFC 1459
 
=== CNOTICE ===
Line 41:
:<code><nowiki>CNOTICE <nickname> <channel> :<message></nowiki></code>
 
Sends a channel NOTICE message to <nowiki><nickname></nowiki> on <nowiki><channel></nowiki> 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.
Line 52:
:<code><nowiki>CPRIVMSG <nickname> <channel> :<message></nowiki></code>
 
Sends a private message to <nowiki><nickname></nowiki> on <nowiki><channel></nowiki> 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.
Line 62:
Syntax:
:<code><nowiki>CONNECT <target server> [<port> [<remote server>]]</nowiki></code> (RFC 1459)
:<code><nowiki>CONNECT <target server> <port> [<remote server>]</nowiki></code> (<nowiki>RFC 2812</nowiki>)
 
Instructs the server <nowiki><remote server></nowiki> (or the current server, if <nowiki><remote server></nowiki> is omitted) to connect to <nowiki><target server></nowiki> on port <nowiki><port></nowiki>.<ref>{{cite IETF
| rfc = 1459
| sectionname = Connect message
Line 77:
| idanchor = ietf
}}</ref>
This command should only be available to [[IRC Operator|IRC operators]]s. Defined in RFC 1459; the <nowiki><port></nowiki> parameter became mandatory in RFC 2812.
 
Defined in RFC 1459; the <port> parameter became mandatory in <nowiki>RFC 2812</nowiki>
 
=== DIE ===
Line 85 ⟶ 83:
Syntax:
:<code><nowiki>DIE</nowiki></code>
This command may only be issued by IRC server operators.
 
Instructs the server to shut down.<ref>{{cite IETF
Line 93 ⟶ 90:
| page = 39
| idanchor = ietf
}}</ref> This command may only be issued by IRC server operators. Defined in RFC 2812.
}}</ref>
 
Defined in <nowiki>RFC 2812</nowiki>
 
=== ENCAP ===
Line 115 ⟶ 110:
| page = 38
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
Defined in RFC 1459
 
=== HELP ===
Line 124 ⟶ 117:
:<code><nowiki>HELP</nowiki></code>
 
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.
 
This command is not formally defined in an RFC, but is in use by most major IRC daemons.
 
=== INFO ===
Line 139 ⟶ 130:
| pages = 31 – 32
| idanchor = ietf
}}</ref> Information returned includes the server'sserver’s version, when it was [[compiler|compiled]], the [[Patch (computing)|patch level]], when it was started, and any other information which may be considered to be relevant. Defined in RFC 1459.
 
Defined in RFC 1459
 
=== INVITE ===
Line 148 ⟶ 137:
:<code><nowiki>INVITE <nickname> <channel></nowiki></code>
 
Invites <nowiki><nickname></nowiki> to the channel <nowiki><channel></nowiki>.<ref>{{cite IETF
| rfc = 1459
| sectionname = Invite message
Line 154 ⟶ 143:
| page = 25
| idanchor = ietf
}}</ref> <nowiki><channel></nowiki> does not have to exist, but if it does, only members of the channel are allowed to invite other clients. If the channel mode <code>i</code> is set, only channel operators may invite other clients. Defined in RFC 1459.
 
Defined in RFC 1459
 
=== ISON ===
Line 169 ⟶ 156:
| page = 42
| idanchor = ietf
}}</ref> 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.
 
Defined in RFC 1459
 
=== JOIN ===
Line 178 ⟶ 163:
:<code><nowiki>JOIN <channels> [<keys>]</nowiki></code>
 
Makes the client join the channels in the comma-separated list <nowiki><channels></nowiki>, specifying the passwords, if needed, in the comma-separated list <nowiki><keys></nowiki>.<ref>{{cite IETF
| rfc = 1459
| sectionname = Join message
Line 184 ⟶ 169:
| pages = 19 – 20
| idanchor = ietf
}}</ref> If the channel(s) do not exist then they will be created. Defined in RFC 1459.
 
Defined in RFC 1459
 
=== KICK ===
Line 193 ⟶ 176:
:<code><nowiki>KICK <channel> <client> [<message>]</nowiki></code>
 
Forcibly removes <nowiki><client></nowiki> from <nowiki><channel></nowiki>.<ref>{{cite IETF
| rfc = 1459
| sectionname = Kick command
Line 199 ⟶ 182:
| pages = 25 – 26
| idanchor = ietf
}}</ref> This command may only be issued by channel operators. Defined in RFC 1459.
 
Defined in RFC 1459
 
=== KILL ===
Line 208 ⟶ 189:
:<code><nowiki>KILL <client> <comment></nowiki></code>
 
Forcibly removes <nowiki><client></nowiki> from the network.<ref>{{cite IETF
| rfc = 1459
| sectionname = Kill message
Line 214 ⟶ 195:
| page = 36
| idanchor = ietf
}}</ref> This command may only be issued by IRC operators. Defined in RFC 1459.
 
Defined in RFC 1459
 
=== KNOCK ===
Line 223 ⟶ 202:
:<code><nowiki>KNOCK <channel> [<message>]</nowiki></code>
 
Sends a NOTICE to an invitation-only <nowiki><channel></nowiki> with an optional <nowiki><message></nowiki>, 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.
 
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 ===
Line 232 ⟶ 209:
:<code><nowiki>LINKS [<remote server> [<server mask>]]</nowiki></code>
 
Lists all server links matching <nowiki><server mask></nowiki>, if given, on <nowiki><remote server></nowiki>, or the current server if omitted.<ref>{{cite IETF
| rfc = 1459
| sectionname = Links message
Line 238 ⟶ 215:
| pages = 28 – 29
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
Defined in RFC 1459
 
=== LIST ===
Line 253 ⟶ 228:
| pages = 24 – 25
| idanchor = ietf
}}</ref> If the comma-separated list <nowiki><channels></nowiki> is given, it will return the channel topics. If <nowiki><server></nowiki> is given, the command will be forwarded to <nowiki><server></nowiki> for evaluation. Defined in RFC 1459.
 
Defined in RFC 1459
 
=== LUSERS ===
Line 268 ⟶ 241:
| pages = 25 – 26
| idanchor = ietf
}}</ref> If called with no arguments, the statistics will reflect the entire network. If <nowiki><mask></nowiki> is given, it will return only statistics reflecting the masked subset of the network. If <nowiki><target></nowiki> is given, the command will be forwarded to <nowiki><server></nowiki> for evaluation. Defined in RFC 2812.
 
Defined in <nowiki>RFC 2812</nowiki>
 
=== MODE ===
Line 284 ⟶ 255:
| pages = 21 – 23
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
Defined in RFC 1459
 
=== MOTD ===
Line 299 ⟶ 268:
| page = 25
| idanchor = ietf
}}</ref> Defined in RFC 2812.
 
Defined in <nowiki>RFC 2812</nowiki>
 
=== NAMES ===
Line 307 ⟶ 274:
Syntax:
:<code><nowiki>NAMES [<channels>]</nowiki></code> (RFC 1459)
:<code><nowiki>NAMES [<channels> [<server>]]</nowiki></code> (<nowiki>RFC 2812</nowiki>)
 
Returns a list of who is on the comma-separated list of <nowiki><channels></nowiki>, by channel name.<ref>{{cite IETF
Line 321 ⟶ 288:
| pages = 20 – 21
| idanchor = ietf
}}</ref> Defined in RFC 1459; the optional <nowiki><server></nowiki> parameter was added in RFC 2812.
}}</ref>
 
Defined in RFC 1459; the optional <nowiki><server></nowiki> parameter was added in <nowiki>RFC 2812</nowiki>.
 
The response contains all nicknames in the channel prefixed with the highest channel status prefix of that user, for example like this (with @ being the highest status prefix)
Line 340 ⟶ 305:
:<code><nowiki>PROTOCTL NAMESX</nowiki></code>
 
Instructs the server to send names in an RPL_NAMES reply prefixed with all their respective channel statuses instead of just the highest one (similar to IRCv3'sIRCv3’s multi-prefix).
 
For example:
Line 358 ⟶ 323:
Syntax:
:<code><nowiki>NICK <nickname> [<hopcount>]</nowiki></code> (RFC 1459)
:<code><nowiki>NICK <nickname></nowiki></code> (<nowiki>RFC 2812</nowiki>)
 
Allows a client to change their IRC nickname. Hopcount is for use between servers to specify how far away a nickname is from its home server.<ref>{{cite IETF
Line 372 ⟶ 337:
| pages = 10 – 11
| idanchor = ietf
}}</ref> Defined in RFC 1459; the optional <nowiki><hopcount></nowiki> parameter was removed in RFC 2812.
}}</ref>
 
Defined in RFC 1459; the optional <hopcount> parameter was removed in <nowiki>RFC 2812</nowiki>
 
=== NOTICE ===
Line 387 ⟶ 350:
| page = 33
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
Defined in RFC 1459
 
=== OPER ===
Line 402 ⟶ 363:
| page = 17
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
Defined in RFC 1459
 
=== PART ===
Line 417 ⟶ 376:
| pages = 20 – 21
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
Defined in RFC 1459
 
=== PASS ===
Line 432 ⟶ 389:
| page = 14
| idanchor = ietf
}}</ref> This command must be sent before the NICK/USER registration combination. Defined in RFC 1459.
 
Defined in RFC 1459
 
=== PING ===
Line 447 ⟶ 402:
| page = 37
| idanchor = ietf
}}</ref> A PING message results in a PONG reply. If <server2> is specified, the message gets passed on to it. Defined in RFC 1459.
 
Defined in RFC 1459
 
=== PONG ===
Line 462 ⟶ 415:
| pages = 37 – 38
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
Defined in RFC 1459
 
=== PRIVMSG ===
Line 471 ⟶ 422:
:<code><nowiki>PRIVMSG <msgtarget> <message></nowiki></code>
 
Sends <nowiki><message></nowiki> to <nowiki><msgtarget></nowiki>, which is usually a user or channel.<ref>{{cite IETF
| rfc = 1459
| sectionname = Private messages
Line 477 ⟶ 428:
| pages = 32 – 33
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
Defined in RFC 1459
 
=== QUIT ===
Line 492 ⟶ 441:
| pages = 17 – 18
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
Defined in RFC 1459
 
=== REHASH ===
Line 507 ⟶ 454:
| page = 39
| idanchor = ietf
}}</ref> This command can only be sent by IRC Operatorsoperators. Defined in RFC 1459.
 
Defined in RFC 1459
 
=== RESTART ===
Line 522 ⟶ 467:
| pages = 39 – 40
| idanchor = ietf
}}</ref> It may only be sent by IRC Operatorsoperator. Defined in RFC 1459.
 
Defined in RFC 1459
 
=== RULES ===
Line 531 ⟶ 474:
:<code><nowiki>RULES</nowiki></code>
 
Requests the server rules. This command is not formally defined in an RFC, but is used by most{{which|date=August 2014}} major IRC daemons.
Requests the server rules.
 
This command is not formally defined in an RFC, but is used by most{{which|date=August 2014}} major IRC daemons.
 
=== SERVER ===
Line 547 ⟶ 488:
| idanchor = ietf
}}</ref> This message is also used to pass server data over the whole network.
<nowiki><hopcount></nowiki> details how many hops (server connections) away <servername> is.
<nowiki><info></nowiki> contains addition human-readable information about the server.
 
Defined in RFC 1459.
 
=== SERVICE ===
Line 563 ⟶ 504:
| pages = 13 – 14
| idanchor = ietf
}}</ref> Defined in RFC 2812.
 
Defined in <nowiki>RFC 2812</nowiki>
 
=== SERVLIST ===
Line 578 ⟶ 517:
| page = 31
| idanchor = ietf
}}</ref> Defined in RFC 2812.
 
Defined in <nowiki>RFC 2812</nowiki>
 
=== SQUERY ===
Line 593 ⟶ 530:
| page = 32
| idanchor = ietf
}}</ref> Defined in RFC 2812.
 
Defined in <nowiki>RFC 2812</nowiki>
 
=== SQUIT ===
Line 608 ⟶ 543:
| pages = 18 – 19
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
Defined in RFC 1459
 
=== SETNAME ===
Line 626 ⟶ 559:
:<code><nowiki>SILENCE [+/-<hostmask>]</nowiki></code>
 
Adds or removes a host mask to a server-side ignore list that prevents matching users from sending the client messages. More than one mask may be specified in a space-separated list, each item prefixed with a "+" or "-" to designate whether it is being added or removed. Sending the command with no parameters returns the entries in the client'sclient’s ignore list.
 
This command is not formally defined in an RFC, but is supported by most{{which|date=August 2014}} major IRC daemons. Support is indicated in a RPL_ISUPPORT reply (numeric 005) with the SILENCE keyword and the maximum number of entries a client may have in its ignore list. For example:
Line 637 ⟶ 570:
:<code><nowiki>STATS <query> [<server>]</nowiki></code>
 
Returns statistics about the current server, or <nowiki><server></nowiki> if it'sit’s specified.<ref>{{cite IETF
| rfc = 1459
| sectionname = Stats message
Line 643 ⟶ 576:
| pages = 27 – 28
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
Defined in RFC 1459
 
=== SUMMON ===
Line 651 ⟶ 582:
Syntax:
:<code><nowiki>SUMMON <user> [<server>]</nowiki></code> (RFC 1459)
:<code><nowiki>SUMMON <user> [<server> [<channel>]]</nowiki></code> (<nowiki>RFC 2812</nowiki>)
 
Gives users who are on the same host as <nowiki><server></nowiki> a message asking them to join IRC.<ref>{{cite IETF
Line 665 ⟶ 596:
| page = 40
| idanchor = ietf
}}</ref> Defined in RFC 1459; the optional <nowiki><channel></nowiki> parameter was added in RFC 2812.
}}</ref>
 
Defined in RFC 1459; the optional <channel> parameter was added in <nowiki>RFC 2812</nowiki>
 
=== TIME ===
Line 680 ⟶ 609:
| page = 29
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
Defined in RFC 1459
 
=== TOPIC ===
Line 689 ⟶ 616:
:<code><nowiki>TOPIC <channel> [<topic>]</nowiki></code>
 
Allows the client to query or set the channel topic on <nowiki><channel></nowiki>.<ref>{{cite IETF
| rfc = 1459
| sectionname = Topic message
Line 695 ⟶ 622:
| pages = 23 – 24
| idanchor = ietf
}}</ref> If <nowiki><topic></nowiki> is given, it sets the channel topic to <nowiki><topic></nowiki>. If channel mode +t is set, only a channel operator may set the topic. Defined in RFC 1459.
 
Defined in RFC 1459
 
=== TRACE ===
Line 710 ⟶ 635:
| pages = 30 – 31
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
Defined in RFC 1459
 
=== UHNAMES ===
Line 735 ⟶ 658:
Syntax:
:<code><nowiki>USER <username> <hostname> <servername> <realname></nowiki></code> (RFC 1459)
:<code><nowiki>USER <user> <mode> <unused> <realname></nowiki></code> (<nowiki>RFC 2812</nowiki>)
 
This command is used at the beginning of a connection to specify the username, hostname, real name and initial user modes of the connecting client.<ref>{{cite IETF
Line 749 ⟶ 672:
| page = 11
| idanchor = ietf
}}</ref> <nowiki><realname></nowiki> may contain spaces, and thus must be prefixed with a colon. Defined in RFC 1459, modified in RFC 2812.
 
Defined in RFC 1459, modified in <nowiki>RFC 2812</nowiki>
 
=== USERHOST ===
Line 764 ⟶ 685:
| page = 42
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
Defined in RFC 1459
 
=== USERIP ===
Line 773 ⟶ 692:
:<code><nowiki>USERIP <nickname></nowiki></code>
 
Requests the direct [[IP address]] of the user with the specified nickname. This command is often used to obtain the IP of an abusive user to more effectively perform a ban. It is unclear what, if any, privileges are required to execute this command on a server.
 
This command is often used to obtain the IP of an abusive user to more effectively perform a ban. It is unclear what, if any, privileges are required to execute this command on a server.
 
This command is not formally defined by an RFC, but is in use by some IRC daemons. Support is indicated in a RPL_ISUPPORT reply (numeric 005) with the USERIP keyword.
Line 790 ⟶ 707:
| pages = 40 – 41
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
Defined in RFC 1459
 
=== VERSION ===
Line 805 ⟶ 720:
| pages = 26 – 27
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
Defined in RFC 1459
 
=== WALLOPS ===
Line 826 ⟶ 739:
| pages = 41 – 42
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
Defined in RFC 1459
 
=== WATCH ===
Line 835 ⟶ 746:
:<code><nowiki>WATCH [+/-<nicknames>]</nowiki></code>
 
Adds or removes a user to a client'sclient’s server-side friends list. More than one nickname may be specified in a space-separated list, each item prefixed with a "+" or "-" to designate whether it is being added or removed. Sending the command with no parameters returns the entries in the client'sclient’s friends list.
 
This command is not formally defined in an RFC, but is supported by most{{which|date=August 2014}} major IRC daemons. Support is indicated in a RPL_ISUPPORT reply (numeric 005) with the WATCH keyword and the maximum number of entries a client may have in its friends list. For example:
Line 846 ⟶ 757:
:<code><nowiki>WHO [<name> ["o"]]</nowiki></code>
 
Returns a list of users who match <nowiki><name></nowiki>.<ref>{{cite IETF
| rfc = 1459
| sectionname = Who query
Line 852 ⟶ 763:
| pages = 33 – 34
| idanchor = ietf
}}</ref> If the flag "o" is given, the server will only return information about IRC Operatorsoperators. Defined in RFC 1459.
 
Defined in <u>RFC 1459</u>
 
=== WHOIS ===
Line 867 ⟶ 776:
| pages = 34 – 35
| idanchor = ietf
}}</ref> If <nowiki><server></nowiki> is given, the command is forwarded to it for processing. Defined in RFC 1459.
 
Defined in RFC 1459
 
=== WHOWAS ===
Line 882 ⟶ 789:
| page = 35
| idanchor = ietf
}}</ref> If given, the server will return information from the last <nowiki><count></nowiki> times the nickname has been used. If <nowiki><server></nowiki> is given, the command is forwarded to it for processing. In <nowiki>RFC 2812</nowiki>, <nickname> can be a comma-separated list of nicknames.<ref>{{cite IETF
| rfc = 2812
| sectionname = Whowas
Line 890 ⟶ 797:
}}</ref>
 
Defined in RFC 1459.
 
== See also ==