Spamfilter çok geniş kapsamlı iyi bir güvenlik sistemidir İRC için. Lakin bu menüyü kullanmak biraz sıkıntılıdır. Özellikle Spam silme konusunda yöneticiler ciddi sorunlar yaşamaktalar spamların silinmediğinden ve komutun çok anlaşılır olmamasından dert yanmaktadırlar.

SpamFilter komutunu sizin için dialog haline getirdim ve ekleme işini sadece birkaç saniyede gayet net bir şekilde halledebilmenize olanak sağladım.

Dikkat etmeniz gereken husus spamfilter eklerken ekleme sebebine boşluk vermeyin _ kullanın. Spamfilterde boşluk moşluk yok unutun yoksa dialogtan sağlam verim alamayabilirsiniz. Herşey bitişik _ ile.

Silme konusuna gelince SpamFilter menüsünden listele yaptıgınızda yukarıdaki resimde oldugu gibi size serverda atılmış tüm spamları liste halinde vericek ve en sonunda da “SPAMI SİL” şeklinde bir yazı eklenicek. Siz bu Spamı Sil Yazısına ÇİFT(Double) Tıkladıgınızda Mevcut Spamı Kaldıracaktır.

Sil Butonu Yardımıylada Ki Bu Uzun Yoldur Parametresini Sebebini ve Ceza Türünü Bildiğiniz Spamları Teker Teker Kaldırabilirsiniz. Bunu Tavsiye Etmem Listele Butonuna Basın Listelenen Spamlardan Kaldırmak İstediğinizin Sonundaki SPAMI SİL Yazısının Üstüne Çift Tıklayın ve Spam Silinsin.

Dilerseniz Tüm Spamlarıda Silebilirsiniz İlgili Butona Tıklayarak.

@BİLGİ Penceresine eklenilen Spamlar yansıtılacak Silinen Spamlar Yansıtılacak ve Spamfiltere Takılma Oldugunda Hangi Kelimenin Takıldıgını Yansıtarak Sizin Hata Yapmama Oranınızı Yada Yaptığınız Hatayı Rahatca Düzeltebilme Oranınızı Maximum’a Çıkartacaktır.

Kodu Remoteye Ekleyin ve mIRC’te herhangi bir pencereye sağ tıklayın en alttaki SpamFilter Uygulaması seçeneğine tıkladıgınızda menü açılacaktır.

Kod:
menu * { 
  Spamfilter Uygulaması:dialog -m spam spam 
}
on ^$*:hotlink:/("?")/:@Spamfilter:return
on *:hotlink:*:@Spamfilter: {
  spamfilter del $noqt($gettok($hotLine,3,32)) $noqt($gettok($hotLine,6,32)) $noqt($gettok($hotLine,9,32)) $noqt($gettok($hotLine,12,32)) $noqt($gettok($hotLine,15,32))
} 

dialog spam {
  title "SpamFilter Ayarları/Yasaklamaları | Coder By uFuK irc.unutma.net"
  size -1 -1 223 165
  option dbu
  radio "Z-Line", 4, 33 67 39 10
  radio "G-Zline", 5, 33 79 42 10
  radio "Block", 6, 33 90 41 10
  radio "Shun", 1, 94 80 42 10
  radio "DCC Block", 2, 94 91 44 10
  radio "G-Line", 3, 94 68 44 10
  radio "Temp Shun", 7, 161 80 44 10
  radio "KİLL", 8, 161 91 39 10
  radio "K-Line", 9, 161 68 41 10
  box "Ceza Türleri", 10, 26 58 187 47
  text "Asama 2", 11, 1 76 24 8
  check "Kanala Gön. Mesajlar", 12, 31 10 68 10
  check "Özele Gön. Mesajlar", 13, 31 23 63 10
  check "Topic Mesajı", 14, 31 36 43 10
  check "Kisiye Gön. Noticeler", 15, 100 23 63 10
  check "DCC Mesajı", 16, 169 36 41 10
  check "Kanala Gön. Noticeler", 17, 100 10 62 10
  check "Part Mesajı", 18, 169 23 41 10
  check "Away Mesajı", 19, 100 36 43 10
  check "Quit Mesajı", 20, 169 10 41 10
  text "Asama 1", 21, 1 24 23 8
  box "Ceza Seçenekleri", 22, 26 1 188 53
  edit "", 23, 47 132 10 10, autohs
  text "Gün", 24, 34 132 12 8
  edit "", 25, 78 131 54 10, autohs
  box "Ceza Süresi", 26, 32 120 37 25
  box "Ceza Nedeni", 27, 73 120 64 25
  edit "", 28, 152 131 50 10, autohs
  box "Cezai Kelime", 29, 144 120 64 25
  box "Ceza Süre/Neden ve Cezai Kelime", 30, 26 110 187 54
  text "Asama 3", 31, 1 128 24 8
  button "Ekle", 32, 31 150 35 10
  button "Sil", 33, 72 150 35 10
  button "Listele", 34, 113 150 35 10
  button "Tüm Spamlari Sil", 35, 155 150 49 10
}
on *:dialog:spam:*:*: { 
  if $devent == sclick {
    if $did == 35 { set %tspamsil on | spamfilter }
    if $did(4).state == 1 { set %yaptirim zline }
    if $did(3).state == 1 { set %yaptirim gline }
    if $did(9).state == 1 { set %yaptirim kline }
    if $did(5).state == 1 { set %yaptirim gzline }
    if $did(1).state == 1 { set %yaptirim shun }
    if $did(7).state == 1 { set %yaptirim tempshun }
    if $did(6).state == 1 { set %yaptirim block }
    if $did(2).state == 1 { set %yaptirim dccblock }
    if $did(8).state == 1 { set %yaptirim kill }   
    if $did(12).state == 1 { set %yaptirim1 c }
    else { unset %yaptirim1 }
    if $did(17).state == 1 { set %yaptirim2 N }
    else { unset %yaptirim2 }
    if $did(20).state == 1 { set %yaptirim3 q }
    else { unset %yaptirim3 }
    if $did(13).state == 1 { set %yaptirim4 p }
    else { unset %yaptirim4 }
    if $did(15).state == 1 { set %yaptirim5 n }
    else { unset %yaptirim5 }
    if $did(18).state == 1 { set %yaptirim6 p }
    else { unset %yaptirim6 }
    if $did(14).state == 1 { set %yaptirim7 t }
    else { unset %yaptirim7 }
    if $did(19).state == 1 { set %yaptirim8 a }
    else { unset %yaptirim8 }
    if $did(16).state == 1 { set %yaptirim9 d } 
    else { unset %yaptirim9 }
    if $did(23) != $null { set %ssure $did(23) }
    if $did(25) != $null { set %ssebep $did(25) }
    if $did(28) != $null { set %skelime $did(28) }
    if $did == 34 { /spamfilter }
    if $did == 33 { /spamfilter del $$?"Parametreyi Yazınız. Yani Neleri Yasakladıgınızı Özel Msg Kanal Msg Quit,Topic Vb." $$?"Ceza Türünü Yazınız Zline,Gline Vb." - - $$?"Cezai Kelimeyi(Sileceğiniz Kelimeyi) Yazınız" }
    if $did == 32 { spamfilter add %yaptirim1 $+ %yaptirim2 $+ %yaptirim3 $+ %yaptirim4 $+ %yaptirim5 $+ %yaptirim6 $+ %yaptirim7 $+ %yaptirim8 $+ %yaptirim9 %yaptirim $did(23) $+ d $did(25) $did(28) }
    if $did == 35 { set %tspamsil on | spamfilter }
  }
  if $devent == init { 
    if %yaptirim == zline { did -c $dname 4 }
    if %yaptirim == gline { did -c $dname 3 }
    if %yaptirim == kline { did -c $dname 9 }
    if %yaptirim == gzline { did -c $dname 5 }
    if %yaptirim == shun { did -c $dname 1 }
    if %yaptirim == tempshun { did -c $dname 7 }
    if %yaptirim == block { did -c $dname 6 }
    if %yaptirim == dccblock { did -c $dname 2 }
    if %yaptirim == kill { did -c $dname 8 }
    did -a $dname 23 %ssure
    did -a $dname 25 %ssebep
    did -a $dname 28 %skelime
  }
  if $devent == close { 
    unset %yaptirim*
  }
}
raw 229:*: { 
  if %tspamsil == on { 
    /spamfilter del $3 $4 $7 $8 $10-
    .timerufuk2 1 2 unset %tspamsil
    .timerufuk 1 2 echo -as 4Tüm Spamlar Silindi. Eğer Silinmeyen Varsa Unrealircd.Conf'tan Kaldırmalısınız.
  }
  $iif(!$window(@SpamFiLter),window -nC @SpamFiLter) { 
    echo -e @SpamFilter 12Atılan Parametreler:4 $qt($3) 12Ceza Türü:4 $qt($4) 12Atılma Süresi:4 $qt($6) 12Atılma Sebebi:4 $qt($8) 12Atılan Kelime:4 $qt($remove($10,:)) 12Atan Nick:4 $qt($gettok($9,1,33)) $qt(10SPAMI SİL)
    haltdef
  }
}
on ^*:snotice:*: {
  if $2 == removed && $3 == spamfilter { 
    $iif(!$window(@biLgi),window -nC @biLgi) { 
      echo -et @biLgi 7»º» 10[Spamfilter] 1Hareket: 12[KALDIRMA] 1Kaldıran Nick:4 $gettok($1,1,33) 1Kaldırılan Kelime:4 $remove($4,') | halt
    }
  }
  if $2 == Spamfilter && $3 == added: {
    $iif(!$window(@biLgi),window -nC @biLgi) { 
      echo -et @biLgi 7»º» 10[Spamfilter] 1Hareket: 12[Aktif Etme] 1Atan Nick:4 $gettok($19,1,33) 1Atılan Parametreler: 4 $remove($6,]) 1 1Atılma Sebebi:4 $remove($10,]) 1Atılan Kelime:4 $remove($4,') | halt
    }
  }
  if $1 == [Spamfilter] && $3 == matches && $4 == filter { 
    $iif(!$window(@biLgi),window -nC @biLgi) {
      echo -et @biLgi 7»º» 10[SPAMFİLTER TAKILMA] 12Takılan Nick:4 $gettok($2,1,33) 12Takılan İp:4 $gettok($2,2,64) 3Spamdaki Ekli Kelime:4 $remove($5,:,') 7Userin Yazdığı Kelime:4 $remove($8-,',]) | halt
    }