I know why it doesn't work, it is because on JOIN the names list hasn't been recieved yet..

Code:
on me:*:JOIN:#:{
  set %join $+ # 1
}
raw 366:*:{
  if ( $eval(% $+ join $+ $2,2) ) {
    savenicks
    unset %join $+ $2
  }
}

It all goes in remotes.