rendered paste bodyon $*: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.* }