Fat's BlackList Addon — File Browser
FatsBlackListAddonv1.0 / FatsBlackListAddonv1.0 / blacklist / BlackList.mrc
BlackList.mrc — 5.26 KB — Download this file
dialog blist {
title "Black List"
size -1 -1 125 152
option dbu
list 1, 4 8 116 36, size
check "Enable Black List", 2, 3 141 50 10
button "Add", 3, 5 44 19 10
button "Del", 4, 24 44 19 10
button "Apply", 5, 98 138 25 12
radio "Kick", 6, 3 110 24 10
radio "Kick + Ban", 7, 77 110 35 10
edit "", 8, 4 66 115 10, autohs
radio "Ban", 11, 41 110 24 10
box "Default Kick Reason", 15, 1 58 122 21
box "Black Listed", 17, 1 1 122 56
box "Exceptional (e.g: #chan1,#chan2)", 18, 1 80 122 21
edit "", 19, 4 88 117 10
check "Temp Ban", 12, 3 123 35 10
edit "", 13, 38 123 15 10, autohs
text "(seconds)", 14, 56 124 25 8
box "Punishment", 20, 1 101 122 35
button "Ok", 9, 72 138 25 12, ok
}
alias -l mdx { if ($lock(dll)) return | if ($isid) return $dll($mdx.udll,$1,$iif($2- != $null,$2-,.)) | dll $shortfn($mdx.udll) $1- }
alias -l mdx.udll { return $+(",$scriptdirmdx.dll,") }
alias -l mdx.vdll { return $scriptdirviews.mdx }
on *:dialog:blist:init:0:{
mdx SetMircVersion $version | mdx MarkDialog $dname
mdx SetControlMDX $dname 1 ListView report grid rowselect showsel nosortheader single > [ $mdx.vdll ]
did -i $dname 1 1 headerdims 110 180
did -i $dname 1 1 headertext Nick/Host $chr(9) Kick Reason
var %i = 1
while ($read($scriptdirblacklist.txt,%i)) {
did -a $dname 1 $gettok($ifmatch,1,32) $chr(9) $gettok($ifmatch,2-,32)
inc %i
}
did -c $dname $iif($hget(bl,punish) == kick,6,$iif($hget(bl,punish) == ban,11,$iif($hget(bl,punish) == kb,7)))
did -a $dname 8 $hget(bl,default)
if ($hget(bl,temp) == on) { did -c $dname 12 }
if ($group(#blacklist) == on) { did -c $dname 2 }
did -a $dname 13 $hget(bl,temptime)
did -a $dname 19 $replace($hget(bl,exaptions),$chr(32),$chr(44))
}
alias -l AddtoHsh { hadd -m bl $1 $2- }
on *:dialog:blist:sclick:*:{
if ($did == 5) {
addtohsh punish $iif($did(6).state == 1,kick,$iif($did(11).state == 1,ban,$iif($did(7).state == 1,kb)))
addtohsh temp $iif($did(12).state == 1,on,off)
addtohsh temptime $iif($did(13).text,$ifmatch,600)
addtohsh default $iif($did(8).text,Blacklisted)
if ($did(19).text) { addtohsh exaptions $replace($ifmatch,$chr(44),$chr(32)) } | else { hdel bl exaptions }
hsave -o bl $+(",$scriptdirbltable.hsh,")
did -a $dname 9 Ok
}
if ($did == 2) { $iif($did(2).state == 1,.enable,.disable) #blacklist }
if ($did == 3) {
var %black = $$?="InsertNickname / Host" | var %reason = $?="insert kick reason (null = no reason)"
write $+(",$scriptdirblacklist.txt,") %black $iif(%reason,%reason,None)
did -a $dname 1 %black $chr(9) $iif(%reason,%reason,None)
}
if ($did == 4 && $did(1).sel != $null) { write -dl $+ $calc($did(1).sel - 1) $+(",$scriptdirblacklist.txt,") | did -d $dname 1 $did(1).sel }
if ($did != 5 && $did != 2 && $did != 3) { did -ra $dname 9 Cancel }
}
#blacklist on
on !@*:join:#:{
if ($chan !isin $hget(bl,exaptions)) { echo -a sdgf
if ($read($scriptdirblacklist.txt, s, $nick)) {
if ($hget(bl,punish) == kick) { kick # $nick $iif($read($scriptdirblacklist.txt, s, $nick) == None,$replace(None,$hget(bl,default)),$ifmatch) }
if ($hget(bl,punish) == kb) { ban $iif($hget(bl,temp) == on,-u [ $+ [ $hget(bl,temptime) ] ]) # $nick 2 | kick # $nick $iif($read($scriptdirblacklist.txt, s, $nick) == None,$hget(bl,default),$ifmatch) }
if ($hget(bl,punish) == ban) { ban $iif($hget(bl,temp) == on,-u [ $+ [ $hget(bl,temptime) ] ]) # $nick }
halt
}
else {
var %address $blist.address($nick)
if (%address isnum) {
if ($hget(bl,punish) == kick) { kick # $nick $iif($read($scriptdirblacklist.txt, s, $address($nick,%address)),$ifmatch,$hget(bl,default)) }
if ($hget(bl,punish) == kb) { ban $iif($hget(bl,temp) == on,-u [ $+ [ $hget(bl,temptime) ] ]) # $address($nick,%address) | kick # $nick $iif($read($scriptdirblacklist.txt, s, $address($nick,%address)) == None,$hget(bl,default),$ifmatch) }
if ($hget(bl,punish) == ban) { ban $iif($hget(bl,temp) == on,-u [ $+ [ $hget(bl,temptime) ] ]) # $address($nick,%address) }
halt
}
}
}
}
#blacklist end
alias blist.address {
var %i = 1
while ($read($scriptdirblacklist.txt,%i)) {
var %z = 1
while (%z <= 12) {
if ($gettok($read($scriptdirblacklist.txt,%i),1,32) iswm $address($1,%z)) { return %z }
inc %z
}
inc %i
}
}
menu nicklist {
Blacklist
.$iif($read($scriptdirblacklist.txt, s, $$1),.Del $$1,Add $$1): if ($read($scriptdirblacklist.txt, s, $$1)) { write -ds $+ $$1 $scriptdirblacklist.txt } | else { var %a = $$?="insert reason (null = no reason)" | write $scriptdir.txt $$1 $iif(%a,%a) }
}
menu channel,status,menubar {
Blacklist Dialog:$iif(!$dialog(blist).title,dialog -m blist blist)
}
on *:start:{
hmake bl 12
if ($read($scriptdirbltable.hsh,1)) {
hload bl $+(",$scriptdirbltable.hsh,")
}
echo -a 4Fat's BlackList Addon Is No Loaded!
echo -a 4Use Popups To Enter The BlackList Dialog.
echo -a 4You Can Add Nick OR Host!, Quickly Add Nick By The Nicklist Popup.
echo -a 4Enjoy, Addon Made By Youthanasia!
}
on *:unload:{
.remove $+(",$scriptdirblacklist.txt,")
hfree bl
echo -a 4Blacklist Addon Unloaded.
}