rendered paste bodymenu * {
Gudhak Blacklist by Xklark:/blist
}
dialog blist {
title "Gudhak Blacklist v0.2 BETA - by Xklark"
size -1 -1 285 142
option dbu
list 1, 181 4 102 114, size
button "Delete", 2, 183 122 61 12
button "Clear All", 3, 246 122 37 12
edit "", 4, 35 14 139 11
box "Add to Blacklist", 5, 8 3 170 50
text "Host:", 6, 11 15 22 9, right
edit "", 7, 35 26 139 11
text "Reason:", 8, 11 27 22 8, right
button "Add", 9, 35 38 137 12
box "Global Ban", 10, 8 55 171 43
edit "", 12, 34 66 141 11
text "Host:", 11, 11 67 22 9, right
button "Ban in all channels", 13, 35 79 138 12
text "Kick Counter:", 14, 3 133 35 10
edit "", 15, 35 132 29 10, disable
}
alias blist {
/dialog -m blist blist
}
on *:dialog:blist:init:0: {
set %b 1
while (%b <= $ini(blist.ini,Blacklist,0)) {
did -a $dname 1 $ini(blist.ini,Blacklist,%b)
inc %b 1
}
unset %b
did -a $dname 15 %kick.count
}
on *:dialog:blist:sclick:9: {
if ($did($dname,4) == $null) {
echo 4 $active [Blacklist] Please enter a host!
halt
}
else {
;writeini -n blist.ini Hosts $calc($ini(blist.ini,Hosts,0)+1) $did($dname,4)
writeini -n blist.ini Blacklist $did($dname,4) $iif($did($dname,7) == $null,No Reason,$did($dname,7))
did -a $dname 1 $did($dname,4)
did -r $dname 7
did -r $dname 4
}
}
on *:dialog:blist:sclick:2: {
if ($did($dname,1).seltext == $null) {
echo 4 $active [Blacklist] Please select a blacklist entry to remove!
halt
}
else {
;remini blist.ini Hosts $did($dname,1).sel
remini blist.ini Blacklist $did($dname,1).seltext
did -d $dname 1 $did($dname,1).sel
}
}
on *:dialog:blist:sclick:3: {
if ($input(Are you sure you want to clear the blacklist?,y,Confirm) == $true) {
set %c 1
while (%c <= $did($dname,1).lines) {
remini blist.ini Blacklist $did($dname,1,%c)
inc %c
}
did -r $dname 1 %c
}
else {
halt
}
}
alias blistcheck {
if ($readini(blist.ini,Blacklist,$address($1,1)) != $null) || ($readini(blist.ini,Blacklist,$address($1,2)) != $null) || ($readini(blist.ini,Blacklist,$address($1,3)) != $null) {
return $true
}
else {
return $null
}
}
on *:join:#: {
if ($blistcheck($nick) == $true) {
if ($readini(blist.ini,Blacklist,$address($nick,1)) != $null) {
echo 4 -a [Blacklist] User: $nick joined and banned for reason: $readini(blist.ini,Blacklist,$address($nick,1))
/mode $chan +b $address($nick,1)
/kick $chan $nick [Blacklisted] $readini(blist.ini,Blacklist,$address($nick,1)) • %kick.count •
}
elseif ($readini(blist.ini,Blacklist,$address($nick,2)) != $null) {
echo 4 -a [Blacklist] User: $nick joined and banned for reason: $readini(blist.ini,Blacklist,$address($nick,2))
/mode $chan +b $address($nick,2)
/kick $chan $nick [Blacklisted] $readini(blist.ini,Blacklist,$address($nick,2)) • %kick.count •
}
elseif ($readini(blist.ini,Blacklist,$address($nick,3)) != $null) {
echo 4 -a [Blacklist] User: $nick joined and banned for reason: $readini(blist.ini,Blacklist,$address($nick,3))
/mode $chan +b $address($nick,3)
/kick $chan $nick [Blacklisted] $readini(blist.ini,Blacklist,$address($nick,3)) • %kick.count •
}
}
}
on *:dialog:blist:sclick:13: {
if ($did($dname,12) == $null) {
echo 4 -a [Blacklist] Please enter a host!
halt
}
else {
set %g 1
while (%g <= $chan(0)) {
if ($me isop $chan(%g)) || ($me ishop $chan(%g)) {
mode $chan(%g) +b $did($dname,12)
}
inc %g 1
}
unset %g
/did -r blist 12
}
}
on *:kick:#: {
if ($nick == $me) {
inc %kick.count 1
}
}