Your IP : 216.73.216.48
Synopsis:
userhost [-direct] [<nickname> [<nickname> ...] [-cmd <command>]]
Description:
This asks the server for the address (user@hostname) of each of the
specified nicknames. You may query as many nicknames as you wish,
however the irc protocol limits any one request to 5 nicknames; your
nickname list will be broken into groups of 5 and requested separately.
If you query too many nicknames, you may flood the server.
If you specify the -cmd option, then anything that follows that
option will be taken as ircII commands that shall be executed for every
nickname in the list IN THE SAME ORDER AS THE LIST. If any of the
nicknames in the list are not on the network, then a placeholder userhost
will be passed to the -cmd option in that nick's turn. (see below).
About asynchronous behavior:
The traditional behavior of USERHOST was to execute the -cmd option
asynchronously. Asynchronous execution means that execution of code
is postponed until the future, when the server replies to the query.
When USERHOST behaves asynchronously, the USERHOST command simply submits
a request for userhosts to the server and returns immediately. The -cmd
option will not have been executed -- not even once -- and will not be
executed until the next time EPIC checks for data from the server.
About synchronous behavior:
However, if all of the nicknames in the list are present in the client's
internal userhost cache, then this command behaves synchronously. The
-cmd option will be executed for all nicknames in the list before
the USERHOST command returns. If you do not want this behavior, you
can use the -direct option to force USERHOST to send the request
to the server instead of looking in the cache.
However, EPIC cannot cache the "away status" or "oper status" that is
provided by a userhost request and whenever it behaves synchronously, the
away status and oper status will be wrong. If you need the away status or
oper status, you should use the -direct option to get this information
from the server.
The use of the wait command arranges for synchronous behavior after
the execution of an asynchronous command.
Options:
-cmd Pass the output from userhost as input to other commands:
USERHOST passes the following arguments to -cmd:
$0 - nickname
$1 - a '+' if the user is an irc operator, a '-' otherwise
$2 - a '+' if the user is marked as away, a '-' otherwise
$3 - username
$4 - hostname
-direct require userhost to query the server.
Examples:
To get the userhosts of JoeBob and Jimbo:
/userhost joebob jimbo
To use their userhost output as another command's input in a script:
userhost joebob jimbo -cmd {
echo $0 is $3@$4
if ( [$1] == [+] ) echo $0 is an irc operator
if ( [$2] == [+] ) echo $1 is away
}
See Also:
userip(2); Expressions(7)