hmmm edit time ran out lol .. forget my last reply
Code:
alias join {
  var %chans = $iif($left($1,1) == -,$2,$1),%i = 1
  while ($gettok(%chans,%i,44) != $null) {
    set -u10 $+($eval(%joined,0),.,$gettok(%chans,%i,44)) $true
    inc %i
  }
  !join $1-
}
on *:JOIN:#: {
  if (($nick == $me) && (!$eval($+($eval(%joined,0),.,#),2))) !part #
  unset $+($eval(%joined,0),.,#)
}