List of IRC commands: Difference between revisions

Content deleted Content added
m Reverted edits by 2600:387:15:2F34:0:0:0:8 (talk) (HG) (3.4.13)
 
(472 intermediate revisions by more than 100 users not shown)
Line 1:
{{short description|none}}
This is a list of commands used in [[IRC]].
{{Use dmy dates|date=February 2016}}
{{how-to |date=June 2024}}
<!-- ATTENTION EDITORS:
Do NOT include service-specific commands on this list. THEY WILL BE REMOVED.
-->
This is a list of all '''[[Internet Relay Chat]] commands''' from [[Request for Comments|RFC]] 1459, RFC 2812, and extensions added to major IRC daemons. Most IRC clients require commands to be preceded by a slash ("<code>/</code>"). 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 ''optional''.
* The leading "/" is the command indicator. In most cases, you can change this, e.g. to "$", so that "/me" would change to "$me". But "/" is almost always the default.
* Those with <> around them are in most cases required for the command to work properly, and those with [] around them usually do not need to be in there. Always refer to your clients help file(s) for information on commands and what to do, etc.
* Hostmasks come in the form nick!ident@host. They can be used anywhere a nick would be. They also accept the wildcard character *, which matches any string of characters. For example, *!MrWiki@Wikipedia.org would match any nick with that ident and host.
 
== User commands ==
{{expandlist}}
 
=== ADMIN ===
 
==me==
Syntax:
:<code>ADMIN [<nowiki><target></nowiki>]</code>
/me <text>
Displays the nickname, followed by <text>.
 
Instructs the [[Server (computing)|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
For example, when the user "MrWiki" writes "/me is going to go watch TV", it would be seen as "* MrWiki is going to go watch TV" by the channel. The way the output and input of an action may vary from client to client.
| rfc = 1459
| section = 4.3.7
| page = 31
| idanchor = ietf
| title = Admin command
}}</ref>
 
=== AWAY ===
It is implemented with the [[CTCP]] ACTION command.
 
==kick==
Syntax:
:<code><nowiki>AWAY [<message>]</nowiki></code>
/kick <#channel> <nick> [reason]
 
Used by ops and halfops to remove someone from a channel. They can, of course, rejoin, so this is rarely effective in keeping someone out, but it does serve as a warning.
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.<ref>{{cite IETF
| rfc = 1459
| title = Away
| section = 5.1
| pages = 38 – 39
| idanchor = ietf
}}</ref>
If <nowiki><message></nowiki> is omitted, the away status is removed. Defined in RFC 1459.
 
=== CNOTICE ===
 
==ban==
Syntax:
:<code><nowiki>CNOTICE <nickname> <channel> :<message></nowiki></code>
/ban [#channel] <nick!user@hostmask>
 
Sets a channel ban on the specified mask. This command will only set the ban, you must kick the user afterwards, however they will not be able to talk while in the channel and in some cases change their nickname. You can also achieve this command using the /mode command shown below with the +b channel mode.
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.
 
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 ===
 
==ignore==
Syntax:
:<code><nowiki>CPRIVMSG <nickname> <channel> :<message></nowiki></code>
/ignore <nick!user@hostmask>
 
Your client will not display lines from the specified user. This command varies from client to client, for more information on what commands an irc client uses see it's help file(s).
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.
 
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 ===
 
==topic==
Syntax:
:<code><nowiki>CONNECT <target server> [<port> [<remote server>]]</nowiki></code> (RFC 1459)
/topic [#channel] <text>
:<code><nowiki>CONNECT <target server> <port> [<remote server>]</nowiki></code> (RFC 2812)
Sets the current topic to <text>. Only available to ops when channel mode +t is set.
 
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
| title = Connect message
| section = 4.3.5
| pages = 29 – 30
| idanchor = ietf
}}</ref><ref>{{cite IETF
| rfc = 2812
| title = Connect message
| section = 3.4.7
| pages = 28 – 29
| idanchor = ietf
}}</ref>
This command should only be available to [[IRC Operator|IRC operators]]. Defined in RFC 1459; the <nowiki><port></nowiki> parameter became mandatory in RFC 2812.
 
=== DIE ===
 
==join==
Syntax:
:<code><nowiki>DIE</nowiki></code>
/join <#channel>
 
Joins <#channel>.
Instructs the server to shut down.<ref>{{cite IETF
| rfc = 2812
| title = Die message
| section = 4.3
| page = 39
| idanchor = ietf
}}</ref> This command may only be issued by IRC server operators. Defined in RFC 2812.
 
=== ENCAP ===
 
==part==
Syntax:
:<code><nowiki>:<source> ENCAP <destination> <subcommand> <parameters></nowiki></code>
/part <#channel> [reason]
 
Parts <#channel>. You have to be on <channel> to use /part. If no reason is given, a default (usually user-defined) is used.
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.<ref>{{Cite web |url=http://www.leeh.co.uk/ircd/encap.txt |title=Archived copy |access-date=6 December 2012 |archive-url=https://web.archive.org/web/20130605105226/http://www.leeh.co.uk/ircd/encap.txt |archive-date=5 June 2013 |url-status=dead }}</ref>
 
=== ERROR ===
 
==quit==
Syntax:
:<code><nowiki>ERROR <error message></nowiki></code>
/quit [reason]
 
This will make the server disconnect you from it. At times if a server is laggy you won't disconnect right off the bat, so instead some client's have the /disconnect command which forces the client to disconnect from the server. If no reason is given, a default (usually user-defined) is used.
This command is for use by servers to report errors to other servers. It is also used before terminating client connections.<ref>{{cite IETF
| rfc = 1459
| title = Error
| section = 4.6.4
| page = 38
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
=== HELP ===
 
==mode==
Syntax:
:<code><nowiki>HELP</nowiki></code>
/mode [#channel|nick|nick!ident@host] <+/-> [parameters]
 
This sets a mode on [#channel], or on the specified user. The required level depends on the modes. Note that you can use it on yourself without any channel modes set on you.
Requests the server to display the help file. This command is not formally defined in an RFC, but is in use by most{{which|date=August 2014}} major IRC daemons.
 
=== INFO ===
 
==oper==
Syntax:
:<code><nowiki>INFO [<target>]</nowiki></code>
/oper <nick|[nick!]ident@host> <password>
 
This will make the specified user an IRCop. You must be an IRCop yourself to use this command.
Returns information about the <nowiki><target></nowiki> server, or the current server if <nowiki><target></nowiki> is omitted.<ref>{{cite IETF
| rfc = 1459
| title = Info command
| section = 4.3.8
| pages = 31 – 32
| idanchor = ietf
}}</ref> Information returned includes the server'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.
 
=== INVITE ===
 
==kill==
Syntax:
:<code><nowiki>INVITE <nickname> <channel></nowiki></code>
/kill <nick|nick!ident@host> [reason]
 
This will disconnect a user from the network you issued the kill command on. You must be an IRCop to use this command.
Invites <nowiki><nickname></nowiki> to the channel <nowiki><channel></nowiki>.<ref>{{cite IETF
| rfc = 1459
| title = Invite message
| section = 4.2.7
| 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.
 
=== ISON ===
 
==gline==
Syntax:
:<code><nowiki>ISON <nicknames></nowiki></code>
/gline <nick!user@host> [time] [reason]
This requires you to be an IRCop. Once issued it will globally ban anybody matching that hostmask from all servers linked to the IRC network.
 
Queries the server to see if the clients in the space-separated list <nowiki><nicknames></nowiki> are currently on the network.<ref>{{cite IETF
Time has to be specified in seconds or on most modern IRCDs can be specified like 1d2h4m5s (1 day 2 hours 4 minutes 5 seconds)
| rfc = 1459
| title = Ison message
| section = 5.8
| 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.
 
==kline= JOIN ===
Syntax
/kline <nick!user@host> [reason]
Not to be confused with the above gline command. Kline will only ban the given hostmask from the server the command was issued. If there are more than one server linked to form a network, the user can reconnect and get on another server. You must be an IRCop to use this command.
 
==nick==
Syntax:
:<code><nowiki>JOIN <channels> [<keys>]</nowiki></code>
/nick <nickname>
 
Sets your nickname to <nickname>.
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
| title = Join message
| section = 4.2.1
| pages = 19 – 20
| idanchor = ietf
}}</ref> If the channel(s) do not exist then they will be created. Defined in RFC 1459.
 
=== KICK ===
 
Syntax:
:<code><nowiki>KICK <channel> <client> :[<message>]</nowiki></code>
 
Forcibly removes <nowiki><client></nowiki> from <nowiki><channel></nowiki>.<ref>{{cite IETF
| rfc = 1459
| title = Kick command
| section = 4.2.8
| pages = 25 – 26
| idanchor = ietf
}}</ref> This command may only be issued by channel operators. Defined in RFC 1459.
 
=== KILL ===
 
Syntax:
:<code><nowiki>KILL <client> <comment></nowiki></code>
 
Forcibly removes <nowiki><client></nowiki> from the network.<ref>{{cite IETF
| rfc = 1459
| title = Kill message
| section = 4.6.1
| page = 36
| idanchor = ietf
}}</ref> This command may only be issued by IRC operators. Defined in RFC 1459.
 
=== KNOCK ===
 
Syntax:
:<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{{which|date=August 2014}} major IRC daemons. Support is indicated in a RPL_ISUPPORT reply (numeric 005) with the KNOCK keyword.
 
=== LINKS ===
 
Syntax:
:<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
| title = Links message
| section = 4.3.3
| pages = 28 – 29
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
=== LIST ===
 
Syntax:
:<code><nowiki>LIST [<channels> [<server>]]</nowiki></code>
 
Lists all channels on the server.<ref>{{cite IETF
| rfc = 1459
| title = List message
| section = 4.2.6
| 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.
 
=== LUSERS ===
 
Syntax:
:<code><nowiki>LUSERS [<mask> [<server>]]</nowiki></code>
 
Returns statistics about the size of the network.<ref>{{cite IETF
| rfc = 2812
| title = Lusers message
| section = 3.4.2
| 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.
 
=== MODE ===
 
Syntax:
:<code><nowiki>MODE <nickname> <flags> (user)</nowiki></code>
:<code><nowiki>MODE <channel> <flags> [<args>]</nowiki></code>
 
The MODE command is dual-purpose. It can be used to set both user and channel modes.<ref>{{cite IETF
| rfc = 1459
| title = Mode message
| section = 4.2.3
| pages = 21 – 23
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
=== MOTD ===
 
Syntax:
:<code><nowiki>MOTD [<server>]</nowiki></code>
 
Returns the message of the day on <nowiki><server></nowiki> or the current server if it is omitted.<ref>{{cite IETF
| rfc = 2812
| title = Motd message
| section = 3.4.1
| page = 25
| idanchor = ietf
}}</ref> Defined in RFC 2812.
 
=== NAMES ===
 
Syntax:
:<code><nowiki>NAMES [<channels>]</nowiki></code> (RFC 1459)
:<code><nowiki>NAMES [<channels> [<server>]]</nowiki></code> (RFC 2812)
 
Returns a list of who is on the comma-separated list of <nowiki><channels></nowiki>, by channel name.<ref>{{cite IETF
| rfc = 1459
| title = Names message
| section = 4.2.5
| page = 24
| idanchor = ietf
}}</ref> If <nowiki><channels></nowiki> is omitted, all users are shown, grouped by channel name with all users who are not on a channel being shown as part of channel "*". If <nowiki><server></nowiki> is specified, the command is sent to <nowiki><server></nowiki> for evaluation.<ref>{{cite IETF
| rfc = 2812
| title = Names message
| section = 3.2.5
| pages = 20 – 21
| idanchor = ietf
}}</ref> Defined in RFC 1459; the optional <nowiki><server></nowiki> parameter was added in RFC 2812.
 
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)
 
:<code>:irc.server.net 353 Phyre = #SomeChannel :@WiZ</code>
 
If a client wants to receive all the channel status prefixes of a user and not only their current highest one, the IRCv3 multi-prefix extension can be enabled (@ is the channel operator prefix, and + the lower voice status prefix):<ref name="andrewnorthall">{{cite web |url=http://ircv3.atheme.org/extensions/multi-prefix-3.1 |title=IRCv3 – Welcome |author=Andrew Northall |publisher=ircv3.net |work=atheme.org |access-date=21 February 2016 |archive-date=9 January 2015 |archive-url=https://web.archive.org/web/20150109104555/http://ircv3.atheme.org/extensions/multi-prefix-3.1 |url-status=live }}</ref>
 
:<code>:irc.server.net 353 Phyre = #SomeChannel :@+WiZ</code>
 
See also NAMESX below for an alternate, older approach to achieve the same effect. However, by today most clients and servers support the new IRCv3 standard.<ref>{{cite web|url=http://ircv3.atheme.org/|title=IRCv3 – Welcome|author=Andrew Northall|work=atheme.org|access-date=21 February 2016|archive-date=17 February 2015|archive-url=https://web.archive.org/web/20150217030215/http://ircv3.atheme.org/|url-status=live}}</ref>
 
=== NICK ===
 
Syntax:
:<code><nowiki>NICK <nickname> [<hopcount>]</nowiki></code> (RFC 1459)
:<code><nowiki>NICK <nickname></nowiki></code> (RFC 2812)
 
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
| rfc = 1459
| title = Nick message
| section = 4.1.2
| pages = 14 – 15
| idanchor = ietf
}}</ref><ref>{{cite IETF
| rfc = 2812
| title = Nick message
| section = 3.1.2
| pages = 10 – 11
| idanchor = ietf
}}</ref> Defined in RFC 1459; the optional <nowiki><hopcount></nowiki> parameter was removed in RFC 2812.
 
=== NOTICE ===
 
Syntax:
:<code><nowiki>NOTICE <msgtarget> <message></nowiki></code>
 
This command works similarly to PRIVMSG, except automatic replies must never be sent in reply to NOTICE messages.<ref>{{cite IETF
| rfc = 1459
| title = Notice
| section = 4.4.2
| page = 33
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
=== OPER ===
 
Syntax:
:<code><nowiki>OPER <username> <password></nowiki></code>
 
Authenticates a user as an IRC operator on that server/network.<ref>{{cite IETF
| rfc = 1459
| title = Oper
| section = 4.1.5
| page = 17
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
=== PART ===
 
Syntax:
:<code><nowiki>PART <channels> [<message>]</nowiki></code>
 
Causes a user to leave the channels in the comma-separated list <nowiki><channels></nowiki>.<ref>{{cite IETF
| rfc = 1459
| title = Part message
| section = 4.2.2
| pages = 20 – 21
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
=== PASS ===
 
Syntax:
:<code><nowiki>PASS <password></nowiki></code>
 
Sets a connection password.<ref>{{cite IETF
| rfc = 1459
| title = Password message
| section = 4.1.1
| page = 14
| idanchor = ietf
}}</ref> This command must be sent before the NICK/USER registration combination. Defined in RFC 1459.
 
=== PING ===
 
Syntax:
:<code><nowiki>PING <server1> [<server2>]</nowiki></code>
 
Tests the presence of a connection.<ref>{{cite IETF
| rfc = 1459
| title = Ping message
| section = 4.6.2
| 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.
 
=== PONG ===
 
Syntax:
:<code><nowiki>PONG <server1> [<server2>]</nowiki></code>
 
This command is a reply to the PING command and works in much the same way.<ref>{{cite IETF
| rfc = 1459
| title = Pong message
| section = 4.6.3
| pages = 37 – 38
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
=== PRIVMSG ===
 
Syntax:
:<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
| title = Private messages
| section = 4.4.1
| pages = 32 – 33
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
=== QUIT ===
 
Syntax:
:<code><nowiki>QUIT [<message>]</nowiki></code>
 
Disconnects the user from the server.<ref>{{cite IETF
| rfc = 1459
| title = Quit
| section = 4.1.6
| pages = 17 – 18
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
=== QUOTE ===
Syntax:
:<code><nowiki>QUOTE</nowiki></code>
 
Sends a command string to the server as-is, i.e. without parsing it in the client application.
<ref>{{cite web
| url = https://irssi.org/documentation/help/quote/
| title = quote - Irssi help page
| author = [[Irssi]] developers
}}</ref>
<ref><code>/quote</code> is cited in the [[mIRC]] documentation ([https://www.mirc.com/help/html/index.html?mirc_commands.html]) as an equivalent of mIRC's <code>/raw</code> command, but which is supported in the other IRC clients.</ref>
 
=== REHASH ===
 
Syntax:
:<code><nowiki>REHASH</nowiki></code>
 
Causes the server to re-read and re-process its configuration file(s).<ref>{{cite IETF
| rfc = 1459
| title = Rehash message
| section = 5.2
| page = 39
| idanchor = ietf
}}</ref> This command can only be sent by IRC operators. Defined in RFC 1459.
 
=== RULES ===
 
Syntax:
:<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.
 
=== SERVER ===
 
Syntax:
:<code><nowiki>SERVER <servername> <hopcount> <info></nowiki></code>
 
The server message is used to tell a server that the other end of a new connection is a server.<ref>{{cite IETF
| rfc = 1459
| title = Server message
| section = 4.1.4
| pages = 16 – 17
| 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 ===
 
Syntax:
 
=== SERVLIST ===
 
=== SQUERY ===
 
Syntax:
:<code><nowiki>SQUERY <servicename> <text></nowiki></code>
 
Identical to PRIVMSG except the recipient must be a service.<ref>{{cite IETF
| rfc = 2812
| title = Squery
| section = 3.5.2
| page = 32
| idanchor = ietf
}}</ref> Defined in RFC 2812.
 
=== SQUIT ===
 
Syntax:
:<code><nowiki>SQUIT <server> <comment></nowiki></code>
 
Causes <nowiki><server></nowiki> to quit the network.<ref>{{cite IETF
| rfc = 1459
| title = Server quit message
| section = 4.1.7
| pages = 18 – 19
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
=== SETNAME ===
 
Syntax:
:<code><nowiki>SETNAME <new real name></nowiki></code>
 
Allows a client to change the "real name" specified when registering a connection.
 
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 SETNAME keyword
 
=== SILENCE ===
 
Syntax:
:<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'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:
 
:<code>:irc.server.net 005 WiZ WALLCHOPS WATCH=128 '''SILENCE=15''' MODES=12 CHANTYPES=#</code>
 
=== STATS ===
 
Syntax:
:<code><nowiki>STATS <query> [<server>]</nowiki></code>
 
Returns statistics about the current server, or <nowiki><server></nowiki> if it's specified.<ref>{{cite IETF
| rfc = 1459
| title = Stats message
| section = 4.3.2
| pages = 27 – 28
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
=== SUMMON ===
 
Syntax:
:<code><nowiki>SUMMON <user> [<server>]</nowiki></code> (RFC 1459)
:<code><nowiki>SUMMON <user> [<server> [<channel>]]</nowiki></code> (RFC 2812)
 
Gives users who are on the same host as <nowiki><server></nowiki> a message asking them to join IRC.<ref>{{cite IETF
| rfc = 1459
| title = Summon message
| section = 5.4
| page = 40
| idanchor = ietf
}}</ref><ref>{{cite IETF
| rfc = 2812
| title = Summon message
| section = 4.5
| page = 40
| idanchor = ietf
}}</ref> Defined in RFC 1459; the optional <nowiki><channel></nowiki> parameter was added in RFC 2812.
 
=== TIME ===
 
Syntax:
:<code><nowiki>TIME [<server>]</nowiki></code>
 
Returns the local time on the current server, or <nowiki><server></nowiki> if specified.<ref>{{cite IETF
| rfc = 1459
| title = Time message
| section = 4.3.4
| page = 29
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
=== TOPIC ===
 
Syntax:
:<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
| title = Topic message
| section = 4.2.4
| 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.
 
=== TRACE ===
 
Syntax:
:<code><nowiki>TRACE [<target>]</nowiki></code>
 
Trace a path across the IRC network to a specific server or client, in a similar method to [[traceroute]].<ref>{{cite IETF
| rfc = 1459
| title = Trace message
| section = 4.3.6
| pages = 30 – 31
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
=== USER ===
 
Syntax:
:<code><nowiki>USER <username> <hostname> <servername> <realname></nowiki></code> (RFC 1459)
:<code><nowiki>USER <user> <mode> <unused> <realname></nowiki></code> (RFC 2812)
 
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
| rfc = 1459
| title = User message
| section = 4.1.3
| pages = 15 – 16
| idanchor = ietf
}}</ref><ref>{{cite IETF
| rfc = 2812
| title = User message
| section = 3.1.3
| 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.
 
=== USERHOST ===
 
Syntax:
:<code><nowiki>USERHOST <nickname> [<nickname> <nickname> ...]</nowiki></code>
 
Returns a list of information about the nicknames specified.<ref>{{cite IETF
| rfc = 1459
| title = Userhost message
| section = 5.7
| page = 42
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
=== USERIP ===
 
Syntax:
:<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 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.
 
=== USERS ===
 
Syntax:
:<code><nowiki>USERS [<server>]</nowiki></code>
 
Returns a list of users and information about those users in a format similar to the [[UNIX]] commands [[who (Unix)|who]], rusers and [[finger (Unix)|finger]].<ref>{{cite IETF
| rfc = 1459
| title = Users
| section = 5.5
| pages = 40 – 41
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
=== VERSION ===
 
Syntax:
:<code><nowiki>VERSION [<server>]</nowiki></code>
 
Returns the [[software version|version]] of <nowiki><server></nowiki>, or the current server if omitted.<ref>{{cite IETF
| rfc = 1459
| title = Version message
| section = 4.3.1
| pages = 26 – 27
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
=== WALLOPS ===
 
Syntax:
:<code><nowiki>WALLOPS <message></nowiki></code>
 
Sends <nowiki><message></nowiki> to all operators connected to the server (RFC 1459), or all users with user mode 'w' set (RFC 2812).<ref>{{cite IETF
| rfc = 1459
| title = Operwall message
| section = 5.6
| page = 41
| idanchor = ietf
}}</ref><ref>{{cite IETF
| rfc = 2812
| title = Operwall message
| section = 4.7
| pages = 41 – 42
| idanchor = ietf
}}</ref> Defined in RFC 1459.
 
=== WATCH ===
 
Syntax:
:<code><nowiki>WATCH [+/-<nicknames>]</nowiki></code>
 
Adds or removes a user to a client'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'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:
 
:<code>:irc.server.net 005 WiZ WALLCHOPS '''WATCH=128''' SILENCE=15 MODES=12 CHANTYPES=#</code>
 
=== WHO ===
 
Syntax:
:<code><nowiki>WHO [<name> ["o"]]</nowiki></code>
 
Returns a list of users who match <nowiki><name></nowiki>.<ref>{{cite IETF
| rfc = 1459
| title = Who query
| section = 4.5.1
| pages = 33 – 34
| idanchor = ietf
}}</ref> If the flag "o" is given, the server will only return information about IRC operators. Defined in RFC 1459.
 
=== WHOIS ===
 
Syntax:
:<code><nowiki>WHOIS [<server>] <nicknames></nowiki></code>
 
Returns information about the comma-separated list of nicknames masks <nowiki><nicknames></nowiki>.<ref>{{cite IETF
| rfc = 1459
| title = Whois query
| section = 4.5.2
| pages = 34 – 35
| idanchor = ietf
}}</ref> If <nowiki><server></nowiki> is given, the command is forwarded to it for processing. Defined in RFC 1459.
 
=== WHOWAS ===
 
Syntax:
:<code><nowiki>WHOWAS <nickname> [<count> [<server>]]</nowiki></code>
 
Used to return information about a nickname that is no longer in use (due to client disconnection, or nickname changes).<ref>{{cite IETF
| rfc = 1459
| title = Whowas
| section = 4.5.3
| 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 RFC 2812, <nickname> can be a comma-separated list of nicknames.<ref>{{cite IETF
| rfc = 2812
| title = Whowas
| section = 3.6.3
| page = 34
| idanchor = ietf
}}</ref>
 
Defined in RFC 1459.
 
== See also ==
* [[IRCd]]
* [[IRCX]]
* [[Server (computing)|Server]]
 
== References ==
 
{{Reflist|23em}}
 
== Bibliography ==
* {{cite IETF
| title = Internet Relay Chat Protocol
| rfc = 1459
| last1 = Oikarinen
| first1 = Jarkko
| author-link1 = Jarkko Oikarinen
| last2 = Reed
| first2 = Darren
|date=May 1993
| publisher = [[Internet Engineering Task Force|IETF]]
| access-date = 30 October 2009
| ref = ietf
}}
* {{cite IETF
| title = Internet Relay Chat: Client Protocol
| rfc = 2812
| last = Kalt
| first = Christophe
|date=April 2000
| publisher = [[Internet Engineering Task Force|IETF]]
| access-date = 30 October 2009
| ref = ietf
}}
 
== Further reading ==
* {{cite IETF
| title = A Discussion on Computer Network Conferencing
| rfc = 1324
| last = Reed
| first = Darren
|date=May 1992
| publisher = [[Internet Engineering Task Force|IETF]]
| access-date = 30 October 2009
}}
* {{cite IETF
| title = Internet Relay Chat: Architecture
| rfc = 2810
| last = Kalt
| first = Christophe
|date=April 2000
| publisher = [[Internet Engineering Task Force|IETF]]
| access-date = 30 October 2009
}}
* {{cite IETF
| title = Internet Relay Chat: Channel Management
| rfc = 2811
| last = Kalt
| first = Christophe
|date=April 2000
| publisher = [[Internet Engineering Task Force|IETF]]
| access-date = 30 October 2009
}}
* {{cite IETF
| title = Internet Relay Chat: Server Protocol
| rfc = 2813
| last = Kalt
| first = Christophe
|date=April 2000
| publisher = [[Internet Engineering Task Force|IETF]]
| access-date = 30 October 2009
}}
 
{{IRC topics}}
{{authority control}}
 
[[Category:IRC|Commands]]
[[Category:Computing commands]]