/who <match> /who <match> <fields> /who <ignored> <fields> :<match>
<match> ::= <element>[,<element>[,...]] <element> ::= [nickname|channel|matchtext]
<fields> ::= [matchfields][%includefields[,querytype]]
The fields to match theincludefields
field against. If you specify more than one, <match> should match at least one of them (“OR”).
a or A match authname h or H match hostname i or I match IP (won't work on users with usermode +h/+x) n or N match nickname o or O match ircops only r or R match realname s or S match server u or U match userid x or X extra matching (IRCOPS ONLY)
All of these are optional; the default is "hnsu".
The fields to return in the 354 numeric.querytype
a or A include authname (or 0 if the user is not authed) c or C include channel (or ‘*’ if there is no visible channel) d or D include distance (a.k.a. hopcount: the number of servers between you and this user) f or F include flags, one or more of:
G user is gone (away) H user is here (not away) * user is IRCop (usermode +o/+O) @ user is operator on the given channel (see 1) + user is voiced on the given channel (see 1) ! user is zombie on the given channel (see 1) d user is deaf (usermode +d) i user is invisible (usermode +i) (IRCOPS ONLY) w user receives wallops (usermode +w) (IRCOPS ONLY) g user receives debug information (usermode +g) (IRCOPS ONLY) h user has a custom host set (usermode +h) (IRCOPS ONLY) x user has a hidden host (usermode +x) (1) in the default 352-reply, only the most significant of these three will be returned h or H include hostname i or I include IP (will return 127.0.0.1 for users with usermode +h/+x) l or L include idle time (in seconds; users on your local server only, otherwise 0) n or N include nickname r or R include realname s or S include server (always *.quakenet.org at this moment) t or T include querytype (see below) u or U include userid
All of these are optional, although at least one is required to get 354 numerics.
A user-specified number between 0 and 999 (inclusive), which can be returned with the “t” includefield. Choice and interpretation of this number are completely up to the client, for example a client can use it to identify which replies are generated by which /who query.
:yourserver 352 yournick <channel> <userid> <host> <server> <nick> <flags> :<distance> <realname>
:yourserver 354 yournick [querytype] [channel] [userid] [IP] [host] [server] [nick] [flags] [distance] [idletime] [auth] [:realname]