on *:rawmode:%bh.chan: {
if ((($1 == +a) || ($1 == +o)) && ($2 == $me)) {
if ($hget(blackhash, bh.autoscan) == 1) { bh.opscan }
}
}
alias bh.opscan {
var %chan = $chan, %num = 0, %checked = 0, %y = $nick(%chan,0,a,!@)
echo -a 10,1 BlackHash is scanning for blacklisted users in8 %chan $+ 10...
while %y {
var %bl.taddress = $address($nick(%chan,%y,a,!@),5)
if $hfind(blacklist, %bl.taddress, 1, W) {
var %bl.address = $hfind(blacklist, %bl.taddress, 1, W), %bl.reason = $gettok($hget(blacklist, %bl.address),1,59)
if ($gettok($hget(blacklist, %bl.address),2,59) == $null) {
echo $chan 4,1 Blacklisted user, kickbanning...
ban -u $+ $hget(blackhash, bl.secs) $chan %bl.address | kick %chan $nick(%chan,%y,a,!@) %bl.reason
if ($hget(blackhash, bl.ignore) == 1) { /.ignore -u $+ $hget(blackhash, bl.secs) %bl.address }
}
else {
var %z = $gettok($hget(blacklist, %bl.address),2,59)
if $istok(%z,%chan,44) {
ban -u $+ $hget(blackhash, bl.secs) $chan %bl.address | kick %chan $nick(%chan,%y,a,!@) %bl.reason
if ($hget(blackhash, bl.ignore) == 1) { /.ignore -u $+ $hget(blackhash, bl.secs) %bl.address }
}
}
inc %num
}
dec %y | inc %checked
}
echo -a 10,1 Checked9 %checked 10users, found9 %num
}