Hi I have the following script (to display nicks on channel when I join in a form I like, without having to have a nicklist open) when I join any channel:

Code:
 
on me:*:join:#:/timer -m 1 600 joinon

alias joinon {
  echo 0 -ma Who's on the channel? lets see... there's
  set %who.total $nick($chan, 0)
  set %who.disp 0
  while %who.disp < %who.total {
    inc %who.disp
    inc %who.numnicks
    set %who.nextnick $nick($chan, %who.disp)
    set %who.allnicks $str.concat($chr(32) - $chr(32), %who.allnicks, %who.nextnick)
    if (%who.numnicks == 3) {
      set %who.numnicks 0
      unset %who.allnicks
    }
  }
  if ((%who.numnicks  == 1) || (%who.numnicks == 2)) {
    set %who.numnicks 0
    unset %who.allnicks
  }
  unset %who.*
}
}
 

Now it's not working when called as above from the remote. If I call the alias direct from a channel. it works fine. I can see it's falling down somewhere on the evaluation of $chan... but I can;t see how to make the script evaluate the channel when in the onjoin. All help welcome.