names [<switch> [<arg>] [<switch> [<arg>] …]] [<channel>]
NAMES is similar to LIST except it will show nicknames in addition to channel names. Only visible users on public channels are returned.
If a nickname is prefixed with a +, that means they are a channel voice (mode +v) on that channel. If a nickname is prefixed with @, that means they are a channel operator (mode +o) on that channel.
If an exact channel name is given, only that channel is queried. If the “*” channel is given, your current window's current channel is used. In all other circumstances, the client requests information about ALL channels, and the problems incurred with global LIST requests apply.
NAMES supports client-side filtering, but just as with LIST you still run the risk of flooding yourself off the server if the network is huge and has thousands of channels. (Servers do not always tolerate users who use up lots of resources asking for large amounts of data.)
Channels that are not public (Either +p or +s) will not show up at all. Users that are invisible (User mode +i, or are a member of a non-public channel) will not show up at all.
You can always do a NAMES request on any channel you are a member of without regard to any of the above restrictions.
|-min <n>||shows channels with no less than n users|
|-max <n>||shows channels with no more than n users|
|-public||shows public channels only|
|-private||shows private channels only|
|-all||overrides any previous -public or -private switch|
To show users on all channels with 3 to 15 users:
/names -min 3 -max 15
To show users on public channels with “help” in the name:
/names -public #*help*