$nick (nick)

From Scriptwiki
Revision as of 15:18, 31 October 2010 by Albie (talk | contribs) (has been idled -> has been idle and changed an example to use the full channel name instead of just #)

Jump to: navigation, search

Returns Nth nickname in the channels nickname listbox on channel #.

$nick(#, N/nick, aohvr, aohvr)

First parameter marks for channel. Channel can be defined as #channel or as $chan or # what marks for channel the script was triggered/executed. Second parameter N can be integer for Nth nick at channel, or person's nickname on channel. Rest of parameters are optional.

Both aohvr parameters are optional. The first specifies which nicks you'd like included, and the second specifies the nicks you'd like excluded, where:

a = all nicks, o = ops, h = halfops, v = voiced, r = regular

The identifier $nick takes color, pnick, idle as possible properties.

color returns the color of nick in nicklist specified in mIRC's options. pnick returns the nickname with prefixes in a @%+nick format. idle returns the time in secods the user has been idle in specified channel.


Examples

$nick(#foo, 0)  ;returns the the total number of nicknames on #foo
$nick(#foo, 1)  ;returns the 1st nickname on #foo
$nick(#foo, 1, v)  ;returns the 1st voice on #foo
$nick(#foo, 0, r)  ;returns the number of regular people on #foo
$nick(#foo, 0, a, ov)  ;returns the total number of nicks on channel #foo excluded ops and voices.
$nick(#foo, Dana).idle  ;returns the idletime (on channel) in seconds for the nickname Dana on #foo
var %i = 1
while (%i <= $nick(#help.script, 0)) {
  echo -a $nick(#help.script, %i).pnick has been idle for $duration($nick(#help.script, %i).idle)
  inc %i
}

The example above returns all nicks on the channel with their prefixes and idle time. The output could e.g. be:

@BlackShroud has been idled for 17hrs 30mins 28secs
@Dana has been idled for 14hrs 24mins 9secs
@epicaL has been idled for 2days 7hrs 49secs
@Microbe has been idled for 6hrs 19mins 45secs

To get longest idle time on channel:

alias idletest {
  var %i = 1, %idle = 0, %nick
  while (%i <= $nick(#, 0)) { 
    if ($nick(#, %i).idle > %idle) { 
      %idle = $nick(#, %i).idle
      %nick = $nick(#, %i)
    }
    inc %i 
  }
  msg $chan %nick has the longest idle on $chan that is $duration(%idle)
}

Returns e.g.: epicaL has the longest idle on #help.script that is 2days 7hrs 30mins 21secs

See Also