- menu channel {
- .. shitlist
- .$iif($ExceptionCheck($chan),$style(3)) Exclude #:Set %ShitException $addtok(%ShitExclusion,$+($network,$chan),32)
- .$iif(!$ExceptionCheck($chan),$style(2)) Remove Exclusion #:Set %ShitException $remtok(%ShitExclusion,$+($network,$chan),1,32)
- .on: .enable #shit | echo -a Shitlist Activated.
- .off: .disable #shit | echo -a Shitlist Deactivated.
- .people on the list: {
- window -e @list
- echo @list Type "/unshit NAMEHERE" to unshitlist a person
- var %nicks 1
- while (%nicks <= $ini(shitlist,nicks,0)) {
- echo @list $ini(shitlist,nicks,%nicks) on the ip $readini(shitlist,nicks,$ini(shitlist,nicks,%nicks))
- inc %nicks 1
- }
- }
- }
- menu nicklist {
- ..shitlist
- .ADD: {
- set %global 1
- writeini shitlist $address($1,2) $address($1,2) $1
- writeini shitlist nicks $1 $address($1,2)
- writeini shitlist $address($1,2) reason $?="why shitlist this guy/girl? (this is mandatory)"
- while (%global <= $chan(0)) {
- if ($1 ison $chan(%global)) && (!$ExceptionCheck($chan(%global))) {
- mode $chan(%global) +b-e $address($1,2) $address($1,2)
- kick $chan(%global) $1 [Shitlist Active: $readini(shitlist,$address($1,2),reason) ]
- }
- inc %global 1
- }
- echo -a Shitlist Entry Added.
- .enable #shit
- }
- .DEL: {
- set %global2 1
- remini shitlist $address($1,2) $address($1,2) $1
- remini shitlist nicks $1
- remini shitlist $address($1,2) reason
- echo -a Shitlist Entry Removed On $+($1,.)
- while (%global2 <= $chan(0)) {
- mode $chan(%global2) -b $address($1,2)
- inc %global2 1
- }
- }
- }
- ;Shitlist by Acclamator
- alias shit {
- set %global 1
- writeini shitlist $address($1,2) $nick
- writeini shitlist nicks $nick $address($1,2)
- writeini shitlist $address($2\1,2) reason $$?="why shitlist this guy/girl? (this is mandatory)"
- while (%global <= $chan(0)) {
- if ($1 ison $chan(%global)) && (!$ExceptionCheck($chan(%global))) {
- mode $chan(%global) +b-e $address($1,2) $address($1,2)
- kick $chan(%global) $1 [Shitlist Active: $readini(shitlist,reason,$address($1,2)) ]
- }
- inc %global 1
- }
- echo -a Shitlist Entry Added.
- .enable #shit
- }
- alias unshit {
- set %global 1
- if ($readini(shitlist,nicks,$1)) {
- remini shitlist $readini(shitlist,nicks,$1)
- remini shitlist nicks $1
- }
- echo -a $1 removed from shitlist
- }
- #shit off
- on *:join:#: {
- if (!$ExceptionCheck($chan)) {
- if ($ini(shitlist,$address($nick,2),0) >= 1) || ($readini(shitlist,nicks,$nick)) {
- kick $chan $nick [Shitlist Active] $+([,$readini(shitlist,$address($nick,2),reason),])
- mode $chan +b-e $address($nick,2) $address($nick,2)
- }
- }
- }
- on *:ban:#: {
- if (!$ExceptionCheck($chan)) {
- if ($banmask == $address($me,2)) && ($nick != $me) || ($bnick == $me) {
- mode $chan -bb $address($me,2) $me
- kick $chan $nick [Ban Protection Active]
- }
- }
- }
- on *:RAWMODE:*: {
- if (!$ExceptionCheck($chan)) {
- if ($regex($1,/\+[aqoh]/g) >= 1) && ($me == $2) {
- var %shitscan 1
- while (%shitscan <= $nick($chan,0)) {
- if ($ini(shitlist,$address($nick($chan,%shitscan),2),0) > 0) || ($readini(shitlist,nicks,$nick)) {
- mode $chan +b-e $address($nick($chan,%shitscan),2) $address($nick($chan,%shitscan),2)
- kick $chan $nick($chan,%shitscan) [Shitlist entry on this nick/mask exists]
- }
- inc %shitscan 1
- }
- }
- elseif ($nick != $me) {
- if ($1 == -e) || ($1 == -ee) {
- if ($address($2,2) == $address($me,2)) || ($2 == $me) {
- mode $chan +e $address($me,2)
- kick $chan $nick [Except Protection Active]
- }
- }
- }
- }
- }
- on *:KICK:*: {
- if ($knick == $me) && ($nick != $me) {
- cs invite $chan
- join $chan
- if (!$ExceptionCheck($chan)) {
- mode $chan +b-e+e $address($nick,2) $address($nick,2) $address($me,2)
- kick $chan $nick [Kick Revenge Active]
- }
- }
- }
- on *:nick: {
- if ($ini(shitlist,$address($nick,2),0) > 0) || ($readini(shitlist,nicks,$nick)) {
- set %global2 1
- while (%global2 <= $chan(0)) {
- if ($newnick ison $chan(%global2)) && (!$ExceptionCheck($chan(%global2))) {
- mode $chan(%global2) +b-e $address($newnick,2) $address($newnick,2)
- kick $chan(%global2) $newnick [Shitlist Active on this nick]
- }
- inc %global2 1
- }
- }
- }
- #shit end
- alias ExceptionCheck {
- return $iif($istok(%ShitException,$+($network,$1),32),1,0)
- }