on $*:TEXT:/^[!@.]hostcheck */Si:#:{ if ($2 == -j) { if ($left($3,1) != $chr(35)) { .notice $nick Please specify a valid channel name. halt } elseif (*!*@* !iswm $4) { .notice $nick Invalid hostmask format. halt } elseif ($me ison $3) { set %hostcheck.chan $3 set %hostcheck.mask $4 } else { join $3 set %hostcheck.join on set %hostcheck.chan $3 set %hostcheck.mask $4 } } elseif ($left($2,1) == $chr(35)) { if ($me !ison $2) { .notice $nick I'm not currently in $+($2,.) halt } elseif (*!*@* !iswm $3) { .notice $nick Invalid hostmask format. halt } else { set %hostcheck.chan $2 set %hostcheck.mask $3 } } else { if (*!*@* !iswm $2) { .notice $nick Invalid hostmask format. halt } else { set %hostcheck.mask $2 set %hostcheck.chan $chan } } set %hostcheck.target $iif(@* iswm $1,msg $chan,.notice $nick) .enable #hostcheck who %hostcheck.chan } #hostcheck off raw *:*:{ if ($istok(352 315,$numeric,32)) haltdef if ($numeric == 352) { var %mask = $+($6,!,$3,@,$4) if (%hostcheck.mask iswm %mask) set %hostcheck.line %hostcheck.line $+(,$6,,$chr(44)) } elseif ($numeric == 315) { set %hostcheck.line $left(%hostcheck.line,-1) %hostcheck.target Search finished: $+($chr(40),$iif(%hostcheck.line,$numtok($ifmatch,44),No) matches found,$chr(41)) $iif(%hostcheck.line,%hostcheck.target $ifmatch) $iif(%hostcheck.join,part %hostcheck.chan) .disable #hostcheck cleanup } } #hostcheck end alias -l cleanup { unset %hostcheck.* }