it's very long but it's very good:)
blacklist snippets
on *:load:{
set %disablebl off
write -c "blacklist.txt"
echo -a |Blacklist v0.1
echo -a |Type '/blacklist' to view blacklisted users
echo -a |For more help read the readme.txt, script written by Clode
echo -a |Suggestions or bugs send a mail to Clode@mikke-mus.com
}
on blacklist:join:#:{
if (%disablebl == On) { halt }
set %i 21
:loop
/dec %i
set %host $address($nick,%i)
if ($read("blacklist.txt", w, * $+ %host $+ *)) { set %read $read("blacklist.txt", w, * $+ %host $+ *) | goto next }
if (%i == 0) { goto exhost }
goto loop
:exhost
if ($read("blacklist.txt", w, * $+ $nick $+ !* $+ $ial($nick).user $+ *)) { set %read $read("blacklist.txt", w, * $+ $nick $+ !* $+ $ial($nick).user $+ *) | goto next }
if ($read("blacklist.txt", w, * $+ $nick $+ *!* $+ $ial($nick).user $+ *)) { set %read $read("blacklist.txt", w, * $+ $nick $+ *!* $+ $ial($nick).user $+ *) | goto next }
if ($read("blacklist.txt", w, * $+ $nick $+ *! $+ $ial($nick).user $+ *)) { set %read $read("blacklist.txt", w, * $+ $nick $+ ! $+ $ial($nick).user $+ *) | goto next }
if ($read("blacklist.txt", w, * $+ $nick $+ ! $+ $ial($nick).user $+ *)) { set %read $read("blacklist.txt", w, * $+ $nick $+ ! $+ $ial($nick).user $+ *) | goto next }
if ($read("blacklist.txt", w, * $+ $ial($nick).user $+ *)) { set %read $read("blacklist.txt", w, * $+ $ial($nick).user $+ *) | goto next }
if ($read("blacklist.txt", w, * $+ $nick $+ *)) { set %read $read("blacklist.txt", w, * $+ $nick $+ *) | goto next }
:next
.timer 1 1 kick # $nick $nopath(%read) $+ , Blacklisted
.timer 1 1 ban # $nick 3
}
on *:join:#:if ($nick == $me) { /who # }
dialog blacklist {
title "Blacklist"
size -1 -1 177 133
option dbu
box "Blacklist view", 2, 2 1 173 130
list 1, 7 23 162 88, hsbar vsbar
button "Add", 7, 7 113 31 12
button "Edit", 3, 73 113 31 12
button "Delete", 4, 40 113 31 12
button "Clear list", 5, 106 113 31 12
check "Disable", 6, 7 10 30 10
button "Close", 8, 139 113 31 12, ok
}
dialog Ablack {
title "Blacklist Add"
size -1 -1 183 39
option dbu
box "Blacklist Add", 1, 2 0 179 37
edit "", 2, 30 9 107 11, autohs %breason
edit "", 3, 30 21 147 11, autohs %breason
text "Reason:", 4, 5 11 20 9
text "Address:", 5, 5 23 22 9
button "Done", 6, 139 9 37 11, ok
}
on *:dialog:Ablack:sclick:6:{
.timer 1 0 ablack
.timer 1 0 if ($dialog(Blacklist)) { /loadbuf -ro blacklist 1 $+(",blacklist.txt,") }
}
on *:dialog:Ablack:init:0:{
did -ra ablack 2 %reason
did -ra ablack 3 %addrss
}
on *:dialog:Ablack:close:0:{
unset %reason
unset %addrss
unset %read
}
on *:dialog:blacklist:sclick:6:{ if ($did(blacklist,6).state == 0) { unset %disablebl } | if ($did(blacklist,6).state == 1) { set %disablebl On } }
on *:dialog:blacklist:sclick:5:{
set %blackclear $?!="Are you sure?"
if (%blackclear == $true) { write -c $+(",blacklist.txt,") | /loadbuf -ro $dname 1 $+(",blacklist.txt,") | /rlevel blacklist }
unset %blackclear
}
on *:dialog:blacklist:sclick:4:{
set %ruser $remove($nofile($did($dname,1,$did(1).sel).text),\)
ruser blacklist %ruser
write -dl $+ $did(1).sel $+(",blacklist.txt,")
loadbuf -ro $dname 1 $+(",blacklist.txt,")
unset %ruser
}
on *:dialog:blacklist:sclick:3:{
if ($did(1).sel == $null) { halt }
set %reason $nopath($did($dname,1,$did(1).sel).text)
set %addrss $remove($nofile($did($dname,1,$did(1).sel).text),\)
set %bLine $did(1).sel
set %blacklistbajs Yeah
dialog -m eblack eblack
}
on *:dialog:blacklist:sclick:7:{
set %bLine $did(1).sel
set %blacklistbajs Yeah
dialog -m ablack ablack
}
on *:dialog:blacklist:dclick:1:{
set %reason $nopath($did($dname,1,$did(1).sel).text)
set %addrss $remove($nofile($did($dname,1,$did(1).sel).text),\)
dialog -m eblack eblack
}
on *:dialog:blacklist:init:0:{
if ($lines($+(",blacklist.txt,")) != 0) { loadbuf -ro $dname 1 $+(",blacklist.txt,") }
if (%disablebl == On) { did -c $dname 6 }
}
dialog Eblack {
title "Blacklist Edit"
size -1 -1 183 39
option dbu
box "Blacklist Edit", 1, 2 0 179 37
edit "", 2, 30 9 107 11, autohs %breason
edit "", 3, 30 21 147 11, autohs %breason
text "Reason:", 4, 5 11 20 9
text "Address:", 5, 5 23 22 9
button "Done", 6, 139 9 37 11, ok
}
on *:dialog:eblack:sclick:6:{
.timer 1 0 eblack
.timer 1 0 if ($dialog(Blacklist)) { /loadbuf -ro blacklist 1 $+(",blacklist.txt,") }
}
on *:dialog:eblack:init:0:{
did -ra eblack 2 %reason
did -ra eblack 3 %addrss
}
on *:dialog:eblack:close:0:{
unset %reason
unset %addrss
unset %read
}
menu nicklist {
User Lists
.Blacklist
..$iif($read($+(",blacklist.txt,"),w, $+ $address($$1,3) $+ *), $style(2)) Add:{
unset %bLine
unset %blacklistbajs
unset %addrss
unset %bnick
unset %read
unset %addrss
unset %reason unset %bLine unset %blacklistbajs
unset %breason
unset %baddress
unset %eid2
unset %eid
set %bnick $$1
if ($me == $$1) { echo $active $timestamp Blacklist Error: You can't add your self to the blacklist | halt }
set %reason $$?="Enter blacklist reason:"
set %blacklist $address(%bnick,3)
.timer 1 0 write $+(",blacklist.txt,") %blacklist \ %reason | echo $active $timestamp Blacklist: " $+ %blacklist $+ " added with reason: " $+ %reason $+ "
.guser blacklist $$1 3 | set %comchans $comchan(%bnick,0)
allkick
}
..-
..$iif($read($+(",blacklist.txt,"),w, $+ $address($$1,3) $+ *) == $null,$style(2)) Edit:{ set %addrss $address($$1,3)
unset %addrss
unset %bnick
unset %read
unset %addrss
unset %reason
unset %bLine
unset %blacklistbajs
unset %breason
unset %baddress
unset %eid2
unset %eid
set %read $read($+(",blacklist.txt,"),w, $+ $address($$1,3) $+ *) set %addrss $remove($nofile(%read),\)
set %reason $nopath(%read)
set %bnick $$1
dialog -m Eblack Eblack
}
..$iif($read($+(",blacklist.txt,"),w, $+ $address($$1,3) $+ *) == $null,$style(2)) Remove:{
unset %addrss
unset %bnick
unset %read
unset %addrss
unset %reason
unset %bLine
unset %blacklistbajs
unset %breason
unset %baddress
unset %eid2
unset %eid
set %blacklist $address($$1,3)
if ($read($+(",blacklist.txt,"),w,%blacklist $+ *)) { .ruser blacklist $$1 3 | write -d $+(",blacklist.txt,") %blacklist $+ * | echo $active $timestamp Blacklist: " $+ %blacklist $+ " deleted! }
:end
unset %reason unset %blacklist
}
..-
..View blacklist:{
unset %addrss
unset %bnick
unset %read
unset %addrss
unset %reason
unset %bLine
unset %blacklistbajs
unset %breason
unset %baddress
unset %eid2
unset %eid
/unset %bLine
/unset %blacklistbajs
/dialog -m blacklist blacklist
}
}
menu query {
User Lists
.Blacklist
..$iif($read($+(",blacklist.txt,"),w, $+ $address($active,3) $+ *), $style(2)) Add:{
unset %bLine
unset %blacklistbajs
unset %addrss
unset %bnick
unset %read
unset %addrss
unset %reason
unset %bLine
unset %blacklistbajs
unset %breason
unset %baddress
unset %eid2
unset %eid
set %bnick $active
if ($me == $active) { echo $active $timestamp Blacklist Error: You can't add your self to the blacklist | halt }
set %reason $$?="Enter blacklist reason:"
set %blacklist $address(%bnick,3)
.timer 1 0 write $+(",blacklist.txt,") %blacklist \ %reason | echo $active $timestamp Blacklist: " $+ %blacklist $+ " added with reason: " $+ %reason $+ "
.guser blacklist $active 3 | set %comchans $comchan(%bnick,0)
allkick
}
..-
..$iif($read($+(",blacklist.txt,"),w, $+ $address($active,3) $+ *) == $null,$style(2)) Edit:{
set %addrss $address($active,3)
unset %addrss
unset %bnick
unset %read
unset %addrss
unset %reason
unset %bLine
unset %blacklistbajs
unset %breason
unset %baddress
unset %eid2
unset %eid
set %read $read($+(",blacklist.txt,"),w, $+ $address($active,3) $+ *) set %addrss $remove($nofile(%read),\)
set %reason $nopath(%read)
set %bnick $active
dialog -m Eblack Eblack
}
..$iif($read($+(",blacklist.txt,"),w, $+ $address($active,3) $+ *) == $null,$style(2)) Remove:{
unset %addrss
unset %bnick
unset %read
unset %addrss
unset %reason
unset %bLine
unset %blacklistbajs
unset %breason
unset %baddress
unset %eid2
unset %eid
set %blacklist $address($active,3)
if ($read($+(",blacklist.txt,"),w,%blacklist $+ *)) { .ruser blacklist $active 3 | write -d $+(",blacklist.txt,") %blacklist $+ * | echo $active $timestamp Blacklist: " $+ %blacklist $+ " deleted! }
:end
unset %reason unset %blacklist
}
..-
..View blacklist:{
unset %addrss
unset %bnick
unset %read
unset %addrss
unset %reason
unset %bLine
unset %blacklistbajs
unset %breason
unset %baddress
unset %eid2
unset %eid
/unset %bLine
/unset %blacklistbajs
/dialog -m blacklist blacklist
}
}
alias eblack {
echo $active -> %baddress a -> %breason
.ruser blacklist %baddress
if (%blacklistbajs == Yeah) { write -dl $+ %bLine $+(",blacklist.txt,") | goto next }
write -d $+(",blacklist.txt,") %baddress \ %breason
:next
write $+(",blacklist.txt,") %baddress \ %breason
echo $active $timestamp Blacklist Addressmark is now: " $+ %baddress $+ ", Reason is now: " $+ %breason $+ "
if (%blacklistbajs == Yeah) { .auser blacklist %baddress | goto nextnext }
.auser blacklist %baddress
:nextnext
unset %addrss
unset %bnick
unset %read
unset %addrss
unset %reason
unset %bLine
unset %blacklistbajs
unset %breason
unset %baddress
unset %eid2
unset %eid
if ($dialog(Blacklist)) { /loadbuf -ro blacklist 1 $+(",blacklist.txt,") }
}
alias ablack {
echo $active -> %baddress -> %breason
write $+(",blacklist.txt,") %baddress \ %breason
.auser blacklist %baddress
unset %addrss
unset %bnick
unset %read
unset %addrss
unset %reason
unset %bLine
unset %blacklistbajs
unset %breason
unset %baddress
unset %eid2
unset %eid
if ($dialog(Blacklist)) { /loadbuf -ro blacklist 1 $+(",blacklist.txt,") }
}
alias allkick {
set %comchans $comchan(%bnick,0)
if (%comchans == 0) { goto end }
unset %i
:i
inc %i
if ($me isop $comchan(%bnick,%i)) { .timer 1 0 ban $comchan(%bnick,%i) %bnick 3 | .timer 1 0 kick $comchan(%bnick,%i) %bnick %reason $+ , Blacklisted }
if (%i == %comchans) { goto end }
goto i
:end
unset %comchans
unset %bnick
unset %i
unset %blacklist
unset %reason
unset %bnick
}
alias blacklist /dialog -m blacklist blacklist
alias f7 /dialog -m blacklist blacklist
on *:op:#:if ($me == $opnick) { onopkick }
alias onopkick {
if (%disablebl == On) { halt }
set %ticks $ticks
unset %i
unset %nick
unset %n
if (%disablebl == On) { goto end }
set %chan #
set %chanT $nick(%chan,0)
:loop
unset %read
inc %n
set %i $nick(%chan,%n)
set %host $address(%i,3)
set %read $read("blacklist.txt", w, * $+ $address(%i,3) $+ *)
if ($read("blacklist.txt", w, * $+ %host $+ *)) { .timer 1 0 kick # %i $nopath(%read) $+ , Blacklisted | .timer 1 0 ban # %i 3 }
:next
if (%n == %chanT) { goto end }
goto loop
:end
echo -a $timestamp Done scaning for blacklisted users in $calc($ticks - %ticks) ms
if (%chan != $active) { echo %chan $timestamp Done scaning for blacklisted users in $calc($ticks - %ticks) ms }
}