;---------------------------------
; Shitlist v2        Alience     -
; E-mail: Qualance@yahoo.com     -
; Core 2.0.2                     -
; Başlama Tarihi: 14/11/2005     -
;---------------------------------

on *:load: {
  if $version < 6.16 { echo -at 7[5Shitlist7]5: bu addon mirc 6.16'ya göre yazılmıştır siz daha düşük bir versiyon kullanıyorsunuz! düzgün çalışmayabilir... }
  var %i = $ini($+(",$scriptdir,shitlist.ini"),initload,0)
  while %i {
    var %tempstr = $readini($+(",$scriptdir,shitlist.ini"),initload,$ini($+(",$scriptdir,shitlist.ini"),initload,%i))
    if !$ulist($gettok(%tempstr,2,32),ShitList,1) {
      .auser -a %tempstr
    }
    dec %i 1
  }
  echo -at 7[5Shitlist7]5: Yüklendi. çalıştırmak için /shitlist yazmanız yeterli.
}

alias shitlist {
  if !$isid {
    if !$1 && !$dialog(shitlist) { dialog -m shitlist ShitlistTable }
    else if $regex($1,^-a$) { 
      var %i = $ulist(*,ShitList,0)
      while %i {
        if $regex($gettok($ulist(*,ShitList,%i),1,32),$2-) { goto exist-a }
        dec %i 1
      }
      .auser -a ShitList $+($2-,!*@*) [6] $+([,$hget(ShitList,dKickMsg),])
      :exist-a
    }
    else if $regex($1,^-r$) { 
      if $gettok($ulist($2,ShitList,1).info,1,32) != [6] {
        if $input($2 nicki nicklist menüsünden değil shitlist dialogundan eklenmiş ve $ulist($2,ShitList,1) yi içeriyor yinede shitlisten çıkarmak istiyormusunuz?) {
          .ruser $ulist($2,ShitList,1)
        }
      }
      else { .ruser $ulist($2,ShitList,1) }
    }
  }
  else {
    if $regex($1,^-xm$) { 
      var %i = $calc($count($2-,;) + 1),%shitline = $null
      while %i {
        %shitline = $gettok($2-,%i,59)
        if %shitline { did $gettok(%shitline,1,32) shitlist $replace($gettok(%shitline,2,32),:,$chr(44)) $gettok(%shitline,3-,32) }
        dec %i 1
      }
      return $null
    }
    else if $regex($1,^-x$) {
      var %i = $null,%retval = $null,%x = $calc($count($2-,;) + 1),%shitline = $null
      while %x {
        %shitline = $gettok($gettok($2-,%x,59),2,32) | %i = $gettok(%shitline,1,58)
        while %i <= $gettok(%shitline,3,58) { %retval = $+(%retval,%i,$chr(44)) | inc %i $gettok(%shitline,2,58) }
        did $gettok($gettok($2-,%x,59),1,32) shitlist $left(%retval,-1)  $gettok($gettok($2-,%x,59),4-,32)
        %retval = $null | dec %x 1
      }
      return $null
    }
    else if $regex($1,^-o.) { return $gettok($hget(ShitList,Options),$remove($1,-o),44)) }
    else if $regex($1,^-c$) {
      if $gettok($gettok($hget(ShitList,Options),12,44),1,32) || $hget(ShitList,$2-) {
        var %modes = $replace($remove($gettok($iif($v1 == 1,$gettok($gettok($hget(ShitList,Options),12,44),2,32),$v1),1,32),[+,]),a,&,o,@,q,~,h,$chr(37))
        if $regex($nick($2-,$me).pnick,$+([,%modes,])) { return $true }
        return $false
      }
    }
    else if $regex($1,^-m$) {
      if $hget(ShitList,$2) { var %septext = $replace($mid($gettok($ifmatch,2,32),2,$calc($len($gettok($ifmatch,2,32)) - 2)),|,\|,$chr(44),|,.,\.,*,\*,?,\?,/,\/,^,\^,$,\$,[,$chr(1),],$chr(4),$chr(40),$+(\,$chr(40)),$chr(41),$+(\,$chr(41))) }
      var %i = $regsub($mid($gettok($ulist($3).info,2-,32),2,$calc($len($gettok($ulist($3).info,2-,32)) - 2)),$+(/,%septext,/g),$null,%septext) 
      return $replace(%septext,<nick>,$3,<kanal>,$2,<chan>,$2,<ver>,5Shitlist V2 7ßy 5Alience,<shit>,$ulist($3),$chr(1),[,$chr(4),])
    }
  }
}
alias shitlist_play { if $5 && $shitlist(-c,$3) { ban -k $3- } }

dialog ShitlistAboutTable {
  title "Shitlist v2"
  size -1 -1 246 131
  option dbu
  text "Addon : Shitlist", 1, 3 1 61 8
  text "Version: 2.0.2", 2, 3 10 61 8
  text "Mirc Version: 6.16", 3, 3 19 61 8
  text "Author: Alience", 4, 3 29 61 8
  text "E-mail:", 5, 3 38 17 8
  link "mailto://Qualance@yahoo.com", 6, 21 38 161 8
  box "", 7, 0 47 245 69
  text "Shitlist addonunda exclusive search'ü açtıysanız bu özellik mirc de ial'in açık olmasını ve her kanala girinçe who çekilerek update edilmesini gerektirmektedir (Liste sınırı o yüzden konmuştur). Eğer script kullanıyorsanız ve scriptiniz otomatik iali update ediyorsa yada remote de ial'i update eden herhangi bir kod varsa aşağıdaki sekmeyi işaretleyin. Normal mirc kullanıyosanız ve biraz önce okuduğunuzdan birşey anlamadıysanız ve başka addonda yüklemediyseniz aşağıdaki sekmeyi ellememeniz tavsiye olunur. Ial'in update edilip edilmemesi addonun sadece exclusive searchinin bağzı durumlarda çalışmamasına etki eder diğer fonksiyonları kesinlikle sorunsuz çalışacaktır.", 8, 4 54 234 48
  check "Shitlist ial update'i devre dışı bırak.", 9, 4 103 93 10
  check "Yapılan değişiklikler:", 10, 1 117 59 10
  edit "", 11, 1 127 244 125, read multi hsbar vsbar hide
  button "&Kapat", 12, 208 253 37 12, cancel,hide
  button "&Kapat", 13, 208 118 37 12, ok
}

dialog ShitlistTable {
  title "Shitlist v2"
  size -1 -1 184 168
  option dbu
  check "Shitlist addonu deaktif", 1, 2 2 62 10
  text "Addonu shitlist'teki kişiler için aşağıdaki işlemlerde tarayacak şekilde ayarla:", 2, 4 13 180 8
  check "Kanala girince", 3, 10 21 45 9
  check "Kanaldan çıkınca", 4, 10 30 55 9
  check "Kanala mesaj yazınca (notice/me/text)", 5, 10 39 105 9
  check "Kanalda nick değiştirince", 6, 10 48 70 9
  check "Kanalda shitlist'tekine mode verilince (+voh)", 7, 10 57 120 9
  check "Kanalda shitlist'tekinden mode alınınca (-voh)", 8, 10 66 120 9
  check "ping/finger vs cekerse", 9, 10 75 67 9
  check "Özele mesaj yazınca", 10, 10 84 62 9
  check "Exclusive search:", 11, 2 95 50 9
  text "Eğer kanal listesi ", 12, 12 106 42 8
  edit "", 13, 55 105 20 10
  text "'den küçükse searchi aktif et.", 14, 76 106 73 8
  text "Exclusive search: Shitlist'te kanalda op yada half op aldığınızda shitlistinizde olan nick varsa otomatik tarar ve işleme sokar. not: ial gereklidir eğer ialinizi otomatik update eden kod yoksa ?'ne tıklayınız", 15, 6 118 177 32ü
  ;tab2
  check "Tüm kanallarda aktif et", 16, 3 2 68 10, hide
  text "Kanal:", 17, 3 14 17 8, hide
  edit "", 18, 21 13 161 10, hide
  text "Eğer kanalda aşağıdaki modlara sahipsem uygula:", 19, 3 24 122 8, hide
  check "+h", 20, 22 33 19 10, hide
  check "+o", 21, 43 33 19 10, hide
  check "+a", 22, 65 33 19 10, hide
  check "+q", 23, 86 33 19 10, hide
  text "Bu kanal için eğer shitlist'teki kişinin kick mesajında aşağıdakiler geçiyorsa otomatik olarak kick sebebinden sil. Kelimeler arasına virgül koymanız gereklidir (örn: ulen,hiyar)", 24, 3 42 178 22, hide
  edit "", 25, 2 65 180 10, hide
  list 26, 2 75 141 77, hide size hsbar vsbar
  button "Ekle", 27, 145 77 37 12, hide
  button "Değiştir", 28, 145 90 37 12, hide
  button "Sil", 29, 145 103 37 12, hide
  ;tab3
  text "Nick/Ip:", 30, 2 4 20 8, hide
  edit "", 31, 23 3 157 10, hide
  text "mask:", 32, 7 15 16 8, hide
  combo 33, 24 14 55 100, hide size drop
  text "Kick mesajı:", 34, 2 27 30 8, hide
  button "Default'u yükle", 35, 75 26 45 9, hide
  button "Default olarak kaydet", 36, 122 26 58 9, hide
  edit "", 37, 2 36 179 10, hide
  list 38, 2 47 141 105, hide size hsbar vsbar
  button "Ekle", 39, 144 49 37 12, hide
  button "Değiştir", 40, 144 62 37 12, hide
  button "Sil", 41, 144 75 37 12, hide
  radio "Genel", 42, 1 157 27 10, push
  radio "Kanal", 43, 29 157 27 10, push
  radio "Liste", 44, 57 157 27 10, push
  button "iptal", 45, 107 154 37 12, cancel
  button "Tamam", 46, 145 154 37 12, ok
  button "?", 47, 85 157 10 10
}

on *:dialog:shitlist:*:*: {
  if $devent == init {
    $shitlist(-xm,-ca 33 *nick*!*@*;-a 33 nick*!*@*;-a 33 *nick!*@*;-a 33 nick!*@*;-a 33 *!*ident*@*;-a 33 *!*ident@*;-a 33 *!ident*@*;-a 33 *!ident@*;-a 33 *!*@ip;-c 42)
    var %i = $ulist(*,ShitList,0)
    while %i {
      $shitlist(-xm,-a 38 $ulist(*,ShitList,%i) $ulist(*,ShitList,%i).info) 
      dec %i 1
    }
    if $hget(ShitList,Options) { 
      $shitlist(-xm,-ra 13 $shitlist(-o11) $iif($shitlist(-o1),; -c 1) $iif($shitlist(-o2),; -c 3) $iif($shitlist(-o3),; -c 4) $iif($shitlist(-o4),; -c 5) $iif($shitlist(-o5),; -c 6) $iif($shitlist(-o6),; -c 7) $iif($shitlist(-o7),; -c 8) $iif($shitlist(-o8),; -c 9) $iif($shitlist(-o9),; -c 10) $iif($shitlist(-o10),; -c 11) $iif($gettok($shitlist(-o12),1,32) == 1,; -c 16))
      if $regex($shitlist(-o12),h|o|a|q) {
        $shitlist(-xm,$iif(h isin $shitlist(-o12),;-c 20) $iif(o isin $shitlist(-o12), ;-c 21) $iif(a isin $shitlist(-o12), ;-c 22) $iif(q isin $shitlist(-o12), ;-c 23))
      }
    }
    var %i = $hget(Shitlist,0).item
    while %i {
      if $regex($hget(ShitList,%i).item,^#.) { $shitlist(-xm,-a 26 $hget(ShitList,%i).item $hget(ShitList,%i).data ) }
      dec %i 1
    }
    if $did(1).state == 1 { $shitlist(-x,-b 2:1:41) | .disable #shitlist }
    if $did(1).state == 0 { .enable #shitlist }
    if $did(11).state == 0 { $shitlist(-xm,-b 13) }
    if $did(16).state == 1 { $shitlist(-xm,-b 18:25:26:27:28:29) }
  }
  if $devent == sclick {
    if $did == 1 {
      if $did(1).state == 1 { .disable #shitlist | $shitlist(-x,-b 2:1:41) }
      if $did(1).state == 0 { .enable #shitlist | $shitlist(-xm,-e $+(2:3:4:5:6:7:8:9:10:11:12,$iif($did(11).state == 1,:13),:14:15:16:17,$iif($did(16).state == 0,:18),:19:20:21:22:23:24,$iif($did(16).state == 0,:25),:26:27:28:29:30:31:32:33:34:35:36:37:38:39:40:41)) }
    }
    if $did == 42 { $shitlist(-x,-v 1:1:15;-h 16:1:41) }
    if $did == 43 { $shitlist(-x,-v 16:1:29;-h 30:1:41;-h 1:1:15) }
    if $did == 44 { $shitlist(-x,-h 16:1:29;-v 30:1:41;-h 1:1:15) }
    if $did == 11 { $iif($did(11).state == 1,$shitlist(-xm,-e 13),$shitlist(-xm,-b 13)) }
    if $did == 16 { $iif($did(16).state == 1,$shitlist(-xm,-b 18:25:26:27:28:29),$shitlist(-xm,-e 18:25:26:27:28:29)) }
    if $did == 27 { 
      $shitlist(-xm,-ra 18 $strip($remove($iif($regex($did(18),$+(^,$chr(35))),$did(18),$+($chr(35),$did(18))),$chr(32),!,?)))
      if $did(18) == $chr(35) { return }
      var %i = $did(26).lines
      while %i {
        if $gettok($did(26,%i),1,32) == $did(18) { $shitlist(-xm,-c 26 %i) | goto exist }
        dec %i 1
      }
      $shitlist(-xm,-a 26 $did(18) $+([+,$iif($did(20).state,h),$iif($did(21).state,o),$iif($did(22).state,a),$iif($did(23).state,q),]) $+([,$did(25),]))
      :exist
      $shitlist(-xm,-fra 18)
    }
    if $did == 28 && $did(26).seltext {
      if $did(28) == Değiştir { 
        var %dmodes = $remove($gettok($did(26).seltext,2,32),[+,]), %dcencore = $mid($gettok($did(26).seltext,3,32),2,$calc($len($gettok($did(26).seltext,3,32)) - 2))
        $shitlist(-xm,-b 16:26:27:29 ;-ra 28 Tamam;-fra 18 $gettok($did(26).seltext,1,32) ;-ra 25 %dcencore $iif(h isin %dmodes, ;-c 20) $iif(o isin %dmodes, ;-c 21) $iif(a isin %dmodes, ;-c 22) $iif(q isin %dmodes, ;-c 23) ;-u 20:21:22:23 )
      }
      else if $did(28) == Tamam { 
        $shitlist(-xm,-ra 18 $strip($remove($iif($regex($did(18),$+(^,$chr(35))),$did(18),$+($chr(35),$did(18))),$chr(32),!,?)))
        if $did(18) == $chr(35) { return }
        var %i = $did(26).lines
        while %i {
          if $gettok($did(26,%i),1,32) == $did(18) && $did(26).sel != %i { goto exist0 }
          dec %i 1
        }
        $shitlist(-xm,-o 26 $did(26).sel $did(18) $+([+,$iif($did(20).state,h),$iif($did(21).state,o),$iif($did(22).state,a),$iif($did(23).state,q),]) $+([,$did(25),]))
        :exist0
        $shitlist(-xm,-fra 18 ;-e 16:26:27:29 ;-ra 28 Değiştir)
      }
    }
    if $did == 29 && $did(26).seltext { $shitlist(-xm,-c 26 1 ;-d 26 $did(26).sel ) }
    if $did == 35 { $shitlist(-xm,-ra 37 $hget(ShitList,dKickMsg)) }
    if $did == 36 { hadd ShitList dKickMsg $did(37) }
    if $did == 39 && $did(31) {
      $shitlist(-xm,-ra 31 $replace($did(33),nick,$remove($did(31),$chr(32)),ident,$did(31),ip,$did(31)))
      var %i = $did(38).lines
      while %i {
        if $gettok($did(38,%i),1,32) == $did(31) { $shitlist(-xm,-c 38 %i) | goto exist1 }
        dec %i 1
      }
      $shitlist(-xm,-a 38 $did(31) $+([,$did(33).sel,]) $+([,$did(37),]))
      .auser -a ShitList $did(31) $+([,$did(33).sel,]) $+([,$did(37),])
      :exist1
      $shitlist(-xm,-fra 31)
    }
    if $did == 40 && $did(38).seltext {
      if $did(40) == Değiştir { 
        var %dkick = $mid($gettok($did(38).seltext,3-,32),2,$calc($len($gettok($did(38).seltext,3-,32)) - 2)), %dshitstr =  $gettok($did(38).seltext,1,32)
        $shitlist(-xm,-b 38:39:41 ;-ra 40 Tamam;-fra 31 $remove($iif($did(33).sel == 9 || $did(33).sel == 7,$right(%dshitstr,-1),%dshitstr),*!*@*,*!*@,!*@*,*@*,@*,*!*,*!) ;-ra 37 %dkick ;-c 33 $remove($gettok($did(38).seltext,2,32),[,]))
      }
      else if $did(40) == Tamam {
        .ruser ShitList $gettok($did(38).seltext,1,32)
        $shitlist(-xm,-ra 31 $replace($did(33),nick,$remove($did(31),$chr(32)),ident,$did(31),ip,$did(31)))
        var %i = $did(38).lines
        while %i {
          if $gettok($did(38,%i),1,32) == $did(31) && $did(38).sel != %i { goto exist2 }
          dec %i 1
        }
        $shitlist(-xm,-co 38 $did(38).sel $did(31) $+([,$did(33).sel,]) $+([,$did(37),]))
        .auser -a ShitList $did(31) $+([,$did(33).sel,]) $+([,$did(37),])
        :exist2
        $shitlist(-xm,-e 38:39:41 ;-ra 40 Değiştir ;-fr 31)
      }
    }
    if $did == 41 && $did(38).seltext { .ruser ShitList $gettok($did(38).seltext,1,32) | $shitlist(-xm,-c 38 1 ;-d 38 $did(38).sel ) }
    if $did == 46 {
      if $hget(ShitList) { var %default = $hget(ShitList,dKickMsg) |  .hfree ShitList }
      hmake ShitList 150
      .hadd ShitList dKickMsg %default
      .hadd ShitList Options $+($did(1).state,$chr(44),$did(3).state,$chr(44),$did(4).state,$chr(44),$did(5).state,$chr(44),$did(6).state,$chr(44),$did(7).state,$chr(44),$did(8).state,$chr(44),$did(9).state,$chr(44),$did(10).state,$chr(44),$did(11).state,$chr(44),$iif($did(13) == $null,0,$did(13)),$chr(44),$did(16).state $+($iif($did(20).state,h),$iif($did(21).state,o),$iif($did(22).state,a),$iif($did(23).state,q)))
      var %i = $did(26).lines
      while %i {
        hadd ShitList $did(26,%i)
        dec %i 1
      }
    }
    if $did == 47 { if !$dialog(shitlistabout) { dialog -m shitlistabout ShitlistAboutTable } }
  }
  if $devent == edit {
    if $did == 13 {
      var %x = $null , %i = $regsub($did(13),/([^0-9])/g,$null,%x) 
      $shitlist(-xm,-ra 13 %x)
    }
  }
}

on *:dialog:shitlistabout:*:*: {
  if $devent == init { $iif($group(#shitlist_ial) != on,did -c $dname 9) | loadbuf -o $dname 11 $+(",$scriptdir,oku.txt") | did -h $dname 11,12 }
  if $devent == sclick {
    if $did == 9 { $iif($did(9).state == 1,.disable #shitlist_ial,.enable #shitlist_ial) }
    if $did == 6 { .run $did(6) }
    if $did == 10 {
      if $did(10).state == 1 {
        dialog -s $dname $dialog($dname).x $dialog($dname).y $dialog($dname).cw 533 
        did -h $dname 13 | did -v $dname 11,12
      }
      else {
        dialog -s $dname $dialog($dname).x $dialog($dname).y $dialog($dname).cw 262
        did -v $dname 13 | did -h $dname 11,12
      }
    }
  }
}



;---------------------------------
; Shitlist Events                -
; Başlama Tarihi: 4/12/2005      -
;---------------------------------

on *:start: { if !$hget(ShitList) { .hmake ShitList 150 | .hload -i ShitList $+(",$scriptdir,shitlist.ini") shitlist | write -c $+(",$scriptdir,temp.shitlist") } }
on *:exit: { if $hget(ShitList) { .hsave -io ShitList $+(",$scriptdir,shitlist.ini") shitlist } }

#shitlist off
on ShitList:join:#: { if $shitlist(-c,$chan) && $shitlist(-o2) && !$shitlist(-o1) { ban -k $chan $nick 2 $shitlist(-m,$chan,$nick) } }
on ShitList:part:#: { if $shitlist(-c,$chan) && $shitlist(-o3) && !$shitlist(-o1) { ban $chan $nick 2 } }
on ShitList:text:*:#: { if $shitlist(-c,$chan) && $shitlist(-o4) && !$shitlist(-o1) { ban -k $chan $nick 2 $shitlist(-m,$chan,$nick) } }
on ShitList:notice:*:#: { if $shitlist(-c,$chan) && $shitlist(-o4) && !$shitlist(-o1) { ban -k $chan $nick 2 $shitlist(-m,$chan,$nick) } }
on ShitList:action:*:#: { if $shitlist(-c,$chan) && $shitlist(-o4) && !$shitlist(-o1) { ban -k $chan $nick 2 $shitlist(-m,$chan,$nick) } }
on ShitList:text:*:?: {
  if ($shitlist(-o9) && !$shitlist(-o1)) {
    var %i = $comchan($nick,0)
    while %i {
      if $shitlist(-c,$comchan($nick,%i)) { ban -k $comchan($nick,%i) $nick 2 $shitlist(-m,$comchan($nick,%i),$nick) }
      dec %i 1
    }
  }
}

on *:nick: { 
  if ($ulist($fulladdress,ShitList) || $ulist($newnick,ShitList)) && ($shitlist(-o5) && !$shitlist(-o1)) {
    var %i = $comchan($newnick,0)
    while %i {
      if $shitlist(-c,$comchan($newnick,%i))  { ban -k $comchan($newnick,%i) $newnick 2 $shitlist(-m,$comchan($newnick,%i),$iif($ulist($fulladdress,ShitList),$nick,$newnick)) }
      dec %i 1
    }
  }
}
ctcp *:*: {
  if $ulist($fulladdress,ShitList) && ($shitlist(-o8) && !$shitlist(-o1)) {
    var %i = $comchan($nick,0)
    while %i {
      if $shitlist(-c,$comchan($nick,%i)) { ban -k $comchan($nick,%i) $nick 2 $shitlist(-m,$comchan($nick,%i),$nick) }
      dec %i 1
    }
    halt
  }
}
on *:rawmode:#: {
  if $mode(0).op  && $shitlist(-o10) && !$shitlist(-o1) && $nick($chan,0) <= $shitlist(-o11) {
    var %i = $mode(0).op
    while %i {
      if $mode(%i).op == $me &&  $shitlist(-c,$chan) {
        var %x = $nick($chan,0,a,oh)
        .remini $+(",$scriptdir,temp.shitlist") $chan
        write $+(",$scriptdir,temp.shitlist") $+([,$chan,])
        while %x {
          if $ulist($address($nick($chan,%x,a,oh),5),ShitList) { write $+(",$scriptdir,temp.shitlist") $chan $nick($chan,%x,a,oh) 2 $shitlist(-m,$chan,$nick($chan,%x,a,oh))  }
          dec %x 1
        }
        .play $+(-saqt,$chan) shitlist_play $+(",$scriptdir,temp.shitlist") 3500
      }
      else if $ulist($address($mode(%i).op,5),ShitList) && $shitlist(-c,$chan) && $shitlist(-o6) && !$shitlist(-o1) { ban -k $chan $mode(%i).op 2 $shitlist(-m,$chan,$mode(%i).op) }
      dec %i 1
    }
  }
  if $mode(0).help  && $shitlist(-o10) && !$shitlist(-o1) && $nick($chan,0) <= $shitlist(-o11) {
    var %i = $mode(0).help
    while %i {
      if $mode(%i).help == $me &&  $shitlist(-c,$chan) {
        var %x = $nick($chan,0,a,oh)
        .remini $+(",$scriptdir,temp.shitlist") $chan
        write $+(",$scriptdir,temp.shitlist") $+([,$chan,])
        while %x {
          if $ulist($address($nick($chan,%x,a,oh),5),ShitList) { write $+(",$scriptdir,temp.shitlist") $chan $nick($chan,%x,a,oh) 2 $shitlist(-m,$chan,$nick($chan,%x,a,oh))  }
          dec %x 1
        }
        .play $+(-saqt,$chan) shitlist_play $+(",$scriptdir,temp.shitlist") 3500
      }
      else if $ulist($address($mode(%i).help,5),ShitList) && $shitlist(-c,$chan) && $shitlist(-o6) && !$shitlist(-o1) { ban -k $chan $mode(%i).help 2 $shitlist(-m,$chan,$mode(%i).help) }
      dec %i 1
    }
  }
  if $mode(0).voice && $shitlist(-o6) && !$shitlist(-o1) {
    var %i = $mode(0).voice
    while %i {
      if $mode(%i).voice != $me && $ulist($address($mode(%i).voice,5),ShitList) && $shitlist(-c,$chan) { ban -k $chan $mode(%i).voice 2 $shitlist(-m,$chan,$mode(%i).voice) }
      dec %i 1
    }
  }
  if $mode(0).deop  && $shitlist(-o7) && !$shitlist(-o1) {
    var %i = $mode(0).deop
    while %i {
      if $ulist($address($mode(%i).voice,5),ShitList) && $shitlist(-c,$chan) { ban -k $chan $mode(%i).voice 2 $shitlist(-m,$chan,$mode(%i).voice) }
      dec %i 1
    }
  }
  if $mode(0).dehelp  && $shitlist(-o7) && !$shitlist(-o1) {
    var %i = $mode(0).dehelp
    while %i {
      if $ulist($address($mode(%i).dehelp,5),ShitList) && $shitlist(-c,$chan) { ban -k $chan $mode(%i).dehelp 2 $shitlist(-m,$chan,$mode(%i).dehelp) }
      dec %i 1
    }
  }
  if $mode(0).devoice  && $shitlist(-o7) && !$shitlist(-o1) {
    var %i = $mode(0).devoice
    while %i {
      if $ulist($address($mode(%i).devoice,5),ShitList) && $shitlist(-c,$chan) { ban -k $chan $mode(%i).devoice 2 $shitlist(-m,$chan,$mode(%i).devoice) }
      dec %i 1
    }
  }
}
#shitlist end

#shitlist_ial on
raw 329:*: { if $shitlist(-o10) && $nick($2,0) <= $shitlist(-o11) { set %shitlist_silence_ial_update = 1 | .who $2 } }
raw 352:*: { if (%shitlist_silence_ial_update) { halt } }
raw 315:*: { if (%shitlist_silence_ial_update) { unset %shitlist_silence_ial_update | halt } }
#shitlist_ial end


;---------------------------------
; Shitlist Menus                 -
; Başlama Tarihi: 8/12/2005      -
;---------------------------------

menu nicklist {
  Shitlist
  .Ayarlar: /shitlist
  .-
  .$iif($$1 != $me && !$ulist($$1,ShitList),seçiliyi ekle): /shitlist -a $$1
  .$iif($$1 != $me && $ulist($$1,ShitList),seçiliyi çıkar): /shitlist -r $$1
}
menu channel,menubar {
  .-
  Shitlist: /shitlist
}
