All pastes #468158 Raw Edit

FD's Seksy Scrpt

public text v1 · immutable
·published 2007-05-02 22:49 UTC
rendered paste body
on *: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
    }
  }
}