-WHO <#channel|user>
+WHO <#channel|nick|mask> [o][%format]
The WHO command displays information about a user,
such as their GECOS information, their user@host,
sample WHO result from a command issued like
"WHO pokey" may look something like this:
-#lamers pokey H pokey@ppp.newbies.net :0 Jim Jones
+#lamers ~pokey ppp.example.net irc.example.com pokey H :0 Jim Jones
+
+Clients often reorder the fields; the order in the
+IRC protocol is described here.
The first field indicates the last channel the user
-has joined. The second is the user's nickname.
-The third field describes the status information about
-the user. The possible combinations for this field
-are listed below:
+has joined. The second is the username and the third
+is the host. The fourth field is the server the user
+is on. The fifth is the user's nickname. The sixth
+field describes status information about the user.
+The possible combinations for this field are listed
+below:
H - The user is not away.
G - The user is set away.
in the first field.
+ - The user is voiced in the channel listed.
-The next field contains the username@host of the user.
The final field displays the number of server hops and
the user's GECOS information.
This command may be executed on a channel, such as
-"WHO #lamers" The output will consist of WHO
-listings for each user on the channel.
+"WHO #lamers". The output will consist of WHO
+listings for each user on the channel. If you are
+not on the channel, it must not have cmode +s set
+and users with umode +i are not shown.
+
+If the parameter is not a nickname or a channel, users
+with matching nickname, username, host, server or
+GECOS information are shown. The wildcards * and ?
+can be used. Users with umode +i set that are not
+on the same channel as you are not shown.
+
+A second parameter of a lowercase letter o ensures
+only IRC operators are displayed.
+
+The second parameter may also contain a format
+specification starting with a percent sign.
+This causes the output to use numeric 354,
+with the selected fields:
+
+t - Query type. Outputs the given number in each reply.
+c - Channel.
+u - Username.
+i - IP address.
+h - Host.
+s - Server.
+n - Nickname.
+f - Status.
+d - Hop count.
+l - Idle time or 0 for users on other servers.
+a - Services account name or 0 if none.
+r - GECOS information.
-This command may also be used in conjunction with wildcards
-such as * and ?.
+"WHO #lamers %tuhnf,42" would generate a brief listing
+of channel members and include the number 42 in each
+line.
-See also: whois, userhost
+See also: whois, userhost, cmode, umode