on *:start: {
hmake blacklist 100
if ($isfile(blacklist.hsh)) hload blacklist blacklist.hsh
}
on *:exit: if ($hget(blacklist)) hsave -o blacklist blacklist.hsh
;//usage syntax: /addban <Name> <address/nick to add>
;//Name is just something u use to identify the address banned(can be anything u want)
alias bl {
var %x, %i = 1
%x = $iif(@ !isin $2-,$+($2,$chr(33),$chr(42),$chr(64),$chr(42)),$2)
if (!$2) { %x = $iif($address($1,3),$address($1,3),$+($1,$chr(33),$chr(42),$chr(64))) }
hadd -m blacklist $1 %x
echo -a »»» $+($1,$chr(32),$chr(40),%x,$chr(41))successfully added to blacklist
while $chan(%i) {
if ($1 ison $chan(%i)) && ($me !isreg $chan(%i) && ($me !isvoice $chan(%i) { ban -k $chan(%i) $nick 3 Blacklisted }
inc %i
}
}
;//Bans all the addresses/nicks in blacklist
alias Massban {
var %i = 1, %x
while ($hget(blacklist,%i).data) {
%x = %x $ifmatch
if ($numtok(%x,32) == $modespl) { mode $chan $+(+,$str(b,$modespl)) %x | %x = "" }
inc %i
}
if (%x) { mode $chan $+(+,$str(b,$modespl)) %x }
}
;//View the blacklist
alias blacklist {
window -c @blacklist
window -el @blacklist
aline -p @blacklist Your blacklist - To remove a ban use /removebl <name> - Entries: $hget(blacklist,0).item
aline -p @blacklist Name: <Address/host>
aline -p @blacklist ---
var %i 1
while ($hget(blacklist,%i).item) {
aline -p @blacklist $v1 $+ : $hget(blacklist,%i).data
inc %i
}
}
;//Remove a bl
alias removebl {
if (!$hget(blacklist,$$1-)) {
echo -a »»» Error $1- Not found on blacklist
halt
}
hdel blacklist $$1-
echo -a »»» $$1- successfully deleted from blacklist
}
on *:join:#: {
var %i = 1, %k
while $hget(blacklist,%i).data {
%k = $v1
if ($address($nick,3) iswm %k) || ($nick == $hget(blacklist,%i).item) {
ban -k $chan $nick 2 Blacklisted
}
inc %i
}
}