rendered paste bodyon *:load: {
set %shitlist.scan 1
set %shitlist.who 1
set %shitlist.nowho 1
enable #shitlist
}
alias slist {
if ($dialog(shitlist) == $null) dialog -m shitlist shitlist
else echo $color(info) -a * /slist: Shitlist dialog already open
}
dialog shitlist {
title "HatShit v3.0 [/slist]"
size -1 -1 624 354
tab "Users", 1, 12 18 600 267
tab "Options", 2
list 3, 19 43 588 118, tab 1
text "Hostmask (*!*@*) :", 4, 19 157 99 17, tab 1
edit "", 5, 18 178 589 20, tab 1
text "Reason (Leave blank for default message) :", 6, 16 201 211 17, tab 1
edit "", 7, 16 227 590 20, tab 1
button "Add to Shitlist", 8, 82 248 150 25, tab 1
button "Remove from Shitlist", 9, 392 248 150 25, tab 1
check "Scan for shitlisted nicks on op/halfop", 10, 19 46 197 17, tab 2
check "When shitlisted, global ban user", 11, 19 66 175 17, tab 2
text "Default Shitlist Reason", 12, 18 86 114 17, tab 2
edit %shitlist.defmsg, 13, 18 107 274 20, tab 2
check "/who on join", 14, 18 127 115 17, tab 2
check "Hide /who response", 15, 17 146 117 17, tab 2
check "Shitlist on", 16, 16 167 100 17, tab 2
button "Edit Entry", 17, 237 248 150 25, tab 1
text "HatShit v3.0 by Hatty", 99, 202 301 220 17, center
button "Save", 100, 202 324 220 25, ok
}
on *:dialog:shitlist:sclick:*: {
if ($did == 3) {
did -ra $dname 5 $did(3).seltext
did -ra $dname 7 $ulist($did(3).seltext).info
}
elseif ($did == 8) {
if ($level($did(5).text) != shit) {
var %mask
if ($regex($did(5).text,/^.+$/)) %mask = $did(5).text $+ !*@*
elseif ($regex($did(5).text,/^@.+/)) %mask = *!* $+ $did(5).text
elseif ($regex($did(5).text,/^.+!.+@.+/)) %mask = $did(5).text
.auser shit %mask $iif($did(7).text != $null,$did(7).text,%shitlist.defmsg)
if (%shitlist.globan) global %mask $iif($did(7).text != $null,$did(7).text,%shitlist.defmsg)
did -a $dname 3 %mask
did -r $dname 5,7
}
else {
echo $color(info) -a * User is already on shitlist, use the EDIT button
}
}
elseif ($did == 9) {
.ruser shit $did(3).seltext
did -d $dname 3 $did(3).sel
did -r $dname 5,7
}
elseif ($did == 10) %shitlist.scan = $did($dname,10).state
elseif ($did == 11) %shitlist.globan = $did($dname,11).state
elseif ($did == 14) %shitlist.who = $did($dname,14).state
elseif ($did == 15) %shitlist.nowho = $did($dname,15).state
elseif ($did == 16) {
if (($did($dname,16).state) && ($group(#shitlist) == off)) .enable #shitlist
elseif (($did($dname,16).state == 0) && ($group(#shitlist) == on)) .disable #shitlist
}
elseif ($did == 17) {
.ruser shit $did(3).seltext
.auser shit $did(5).text $did(7).text
did -o $dname 3 $did(3).sel $did(5.text)
did -r $dname 5,7
}
}
on *:dialog:shitlist:edit:13: {
%shitlist.defmsg = $iif($did($dname,13).text != $null,$did($dname,13),Raging Idiot)
}
on *:dialog:shitlist:init:*: {
populateShitlist
if (%shitlist.scan == 1) did -c $dname 10
if (%shitlist.globan == 1) did -c $dname 11
if (%shitlist.who == 1) did -c $dname 14
if (%shitlist.nowho == 1) did -c $dname 15
if ($group(#shitlist).status == on) did -c $dname 16
}
alias populateShitlist {
var %x 1
while (%x <= $ulist(*,shit,0)) {
did -a shitlist 3 $ulist(*,shit,%x)
inc %x
}
}
alias echoShitlist {
var %x 1
echo 12 -a --------------------
echo 12 -a |HatShit by Hatty $str( ,3) $+ \
echo 12 -a |Shitlist: $str( ,11) $+ \
echo 12 -a ------------------------------------------------------------
while (%x <= $ulist(*,shit,0)) {
echo 3 -a $ulist(*,shit,%x)
echo 3 -a $ulist(*,shit,%x).info
if ($ulist(*,shit,$calc(%x +1)) != $null) echo 3 -a -
inc %x
}
echo 12 -a ------------------------------------------------------------
}
on *:dialog:shitlist:close:*: {
%shitlist.scan = $did($dname,10).state
%shitlist.globan = $did($dname,11).state
%shitlist.who = $did($dname,14).state
%shitlist.nowho = $did($dname,15).state
if (($did($dname,16).state) && ($group(#shitlist) == off)) .enable #shitlist
elseif (($did($dname,16).state == 0) && ($group(#shitlist) == on)) .disable #shitlist
}
#shitlist on
on shit:join:#: {
if (($me isop $chan) || ($me ishop $chan)) {
if ($chan == #IRChelp) halt {
kb $nick Shitlisted 4[REASON: $+($ulist($fulladdress).info,])
notice $nick Only way to appeal blacklist is by E-Mailing me at Fierce.Deity@SwiftSwitch.net, if declined, you will not be unshitlisted.
}
}
}
menu channel {
-
Shitlist: slist
Echo Shitlist to Main: echoshitlist
}
menu nicklist {
-
Shitlist
.$address($$1,0) : shit $$1 0
.$address($$1,1) : shit $$1 1
.$address($$1,2) : shit $$1 2
.$address($$1,3) : shit $$1 3
.$address($$1,4) : shit $$1 4
.$address($$1,5) : shit $$1 5
.$address($$1,6) : shit $$1 6
.$address($$1,7) : shit $$1 7
.$address($$1,8) : shit $$1 8
.$address($$1,9) : shit $$1 9
.-
.Shitlist Dialog: slist
.Echo Shitlist to Current WIndow: echoshitlist
}
on *:op:#: {
if (($opnick == $me) && (%shitlist.scan == 1)) {
var %x = 1
while (%x <= $nick($chan,0)) {
if ($level($ulist($address($nick($chan,%x),5))) == shit) {
kb $nick($chan,%x) Shitlisted 4,1[Reason: 15,1 $+ $ulist($address($nick($chan,%x),5)).info $+ ]
}
inc %x
}
}
}
on *:helpop:#: {
if (($helpop == $me) && (%shitlist.scan == 1)) {
var %x = 1
while (%x <= $nick($chan,0)) {
if ($level($ulist($address($nick($chan,%x),5))) == shit) {
kb $nick($chan,%x) Shitlisted 4,1[Reason: $ulist($address($nick($chan,%x),5)).info $+ ]
}
inc %x
}
}
}
#shitlist end
on *:join:#: {
if (($nick == $me) && (%shitlist.who == 1)) who $chan
}
raw 315:*: {
if (%shitlist.nowho) haltdef
}
raw 352:*: {
if (%shitlist.nowho) haltdef
}
alias shit {
var %reason = $iif($3 != $null, $3-,$?=\"Reason: Blank = Default Message")
if (%reason == $null) %reason = %shitlist.defmsg
.auser shit $address($$1,$$2) %reason
kb $$1 Blaclisted! 4[Reason: %reason $+ ]
var %x = 1
var %i = 1
if (%shitlist.globan == 1) {
while (%x <= $comchan($me,0)) {
if ($comchan($me,%x) != $chan) {
msg $comchan($me,%x) Globally Banning 4' $+ $address($1,$2) $+ ' [[ $+ $1 $+ ]] For Reason: 5 $+ %reason $+
if ($1 ison $comchan($me,%x)) kick $comchan($me,%x) $1 Shitlisted. 5[Kickcount: $+(%kcount,])
mode $comchan($me,%x) +b $address($1,$2)
}
%i = 1
while (%i <= $nick($comchan($me,%x),0)) {
if ($address($1,$2) == $address($nick($comchan($me,%x),%i),$2)) {
if ($1 != $nick($comchan($me,%x),%i)) {
kick $comchan($me,%x) Clone Searcher 4[ $+ $1 $+ ] 5[Kickcount: $+(%kcount,])
}
}
inc %i
}
inc %x
}
}
}
alias global {
var %x = 1
var %i = 1
if (%shitlist.globan == 1) {
while (%x <= $comchan($me,0)) {
if ($comchan($me,%x) != $chan) {
msg $comchan($me,%x) Globally Banning 4' $+ $1 $+ ' For Reason: 5 $+ $2 $+
mode $comchan($me,%x) +b $1
}
inc %x
}
}
}