alias join.helper {
var %clones = $clscanint($1, $2)
var %last = $addr.lastnick($address($1, 2))
if (%last == <unknown> && $numtok(%clones, 32) == 0) { return $iif($iif($isalias(join.cust), $join.cust($1-)), ( $+ $ifmatch $+ )) }
if (%clones == $null && %last == $null) { return $null }
if (%clones != $null && %last == $null) { return (Clones: %clones $+ $iif($iif($isalias(join.cust), $join.cust($1-)), $chr(44) $ifmatch) $+ ) }
if (%clones == $null && %last != $null && $VTECget(silast) != off) { return (Last nick: %last $+ $iif($iif($isalias(join.cust), $join.cust($1-)), $chr(44) $ifmatch) $+ ) }
if (%clones != $null && %last != $null && $VTECget(silast) != off) {
if (%clones = %last) {
return (Clone/Last nick: %clones $+ $iif($iif($isalias(join.cust), $join.cust($1-)), $chr(44) $ifmatch) $+ )
}
else {
return (Clone $+ $iif($numtok(%clones, 32) > 1,s) $+ : %clones $+ , Last nick: %last $+ $iif($iif($isalias(join.cust), $join.cust($1-)), $chr(44) $ifmatch) $+ )
}
}
}
on *^:join:#:{
var %i = 1,%a,%b = $gettok($hget(lastnicks,$site),1,32)
while $ialchan($1,$2,%i).nick { %a = %a $v1 | inc %i }
while $ialchan($wildsite,#,%i).nick { %a = %a $v1 | inc %i }
; %a is set all nicks from $site
if %b && $v1 != $nick { %b = 4[Last Nick: $v1 $+ ] } | else var %b
; if <lastnick> is the current nick it will not be shown
if $remtok(%a,$nick,32) { %a = 3[Clones: $v1 $+ ] } | else var %a
; check if there are any clones to display
echo -tic join # 11 ·09 · 4Joins : $nick $+([,$address,]) %a %b
hadd -m lastnicks $site $nick $ctime
; update hash table
.timerlastnick 1 3 hsave lastnicks lastnicks.hsh
; save hash table, timer so it isn't saved multiple times if multiple joins
haltdef
}