IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Sorunları (https://www.ircforumlari.net/mirc-scripting-sorunlari/)
-   -   Kanallardan Ban/Shun (https://www.ircforumlari.net/mirc-scripting-sorunlari/214992-kanallardan-ban-shun.html)

Skys 29 Mayıs 2009 22:10

Kanallardan Ban/Shun
 
Slm

mircScript Botuma , Opers Kanalında !spam kelime yazdığımda

O kelimeyi yazan kullanıcı her kanaldan cıkarılıp #spam kanalına cekiLmesi

ve SHUN yemesini rica ediyorum mümkünmüdür ?

Spam eklemesi değiLde !spam kelime yazılanı Txt'e atmak ordanda !spamsil kelime olarak siLmek isterim



Difuzyon 29 Mayıs 2009 23:52

Cevap: Kanallardan Ban/Shun
 
Kod:

on *:text:*:#:{
  if $chan == #opers {
    if $1 == !spamekle {
      if $hget(Spams,$2) { msg $chan $2 listede mevcut. }
      else { hadd -m Spams $2 1 | hsave Spams Spam.hash | msg $chan $2 Spam listesine eklendi. }
    }
    elseif $1 == !spamsil {
      if !$hget(Spams,$2) { msg $chan $2 listede yok }
      else { hdel Spams $2 | hsave Spams Spam.hash | msg $chan $2 Spam listesinden silindi. }
    }
    elseif $1 == !spamlist {
      msg $chan Spam listesi alınıyor...
      var %difi 1 | while %difi <= $hget(Spams,0).item { msg $chan $hget(Spams,%difi).item | inc %difi }
      msg $chan Spam listesi sonu...
    }
  }
  else {
    var %jnk = 0, %cenk | while %jnk <= $numtok($1-,32) {
      %cenk = $strip($token($1-,$v1,32))
      if $hregex(Spams,%cenk,0) { tempshun $+(+,$nick) Spama takıldı | set %spilz $nick | whois $nick | halt }
      inc %jnk
    }
  }
}
raw 319:*:if %spilz { sapart $2 $replace($regsubex($3-,/[\+:%@\.]/g,$null),$chr(32),$chr(44)) | sajoin $2 #spam }
raw 318:*:if %spilz { unset %spilz }
on *:start:if !$hget(Spams) { hmake Spams 1000 } | .hload Spams Spam.hash

Bu tür işlemlerde; TXT'den kelime algılatmak "yolun ortasındaki bir ineğin karşıdan gelen arabayı tehlike olarak algılama süresiyle(bilimsel olarak olarak 7 sn.) " eşdeğer olarak görüyorum.Yazılanları %var, uyan tanımları %var, az kalıyordu ki whois'de %var olacaktı birde buna TXT metnindeki bütün kelimeleri %var etmeye kalkarsan , döngülerin yüzünden mircin epey kasılacaktı...Bu yüzden TXT sevdasından vazgeçmelisin,gerekmedikçe mirci yoran bir metoddur.

Hash tablosu ve regular expression bu tür işlemler için en uygun olanıdır.Yukarıda #opers kanalında neler yapman gerektiği belli,diğer kanallarda botun bu eklediğin kelimeyi gördüğün takdirde işlemleri yapar.

"!spamekle mesaj" burdaki mesaj 1 kelime olmalıdır.Birden fazla kelime dengeleri bozar,şimdilik bunu geliştirebilirsin.Bildiğim kadarıyla spamfilter olayında "viruschan" metodu olacaktı,bunu da araştırmanı tavsiye ederim...

İyi forumlar.

TUNAHAN 26 Ocak 2010 19:20

Cevap: Kanallardan Ban/Shun
 
Alıntı:

Difuzyon Nickli Üyeden Alıntı (Mesaj 722458)
Kod:

on *:text:*:#:{
  if $chan == #opers {
    if $1 == !spamekle {
      if $hget(Spams,$2) { msg $chan $2 listede mevcut. }
      else { hadd -m Spams $2 1 | hsave Spams Spam.hash | msg $chan $2 Spam listesine eklendi. }
    }
    elseif $1 == !spamsil {
      if !$hget(Spams,$2) { msg $chan $2 listede yok }
      else { hdel Spams $2 | hsave Spams Spam.hash | msg $chan $2 Spam listesinden silindi. }
    }
    elseif $1 == !spamlist {
      msg $chan Spam listesi alınıyor...
      var %difi 1 | while %difi <= $hget(Spams,0).item { msg $chan $hget(Spams,%difi).item | inc %difi }
      msg $chan Spam listesi sonu...
    }
  }
  else {
    var %jnk = 0, %cenk | while %jnk <= $numtok($1-,32) {
      %cenk = $strip($token($1-,$v1,32))
      if $hregex(Spams,%cenk,0) { tempshun $+(+,$nick) Spama takıldı | set %spilz $nick | whois $nick | halt }
      inc %jnk
    }
  }
}
raw 319:*:if %spilz { sapart $2 $replace($regsubex($3-,/[\+:%@\.]/g,$null),$chr(32),$chr(44)) | sajoin $2 #spam }
raw 318:*:if %spilz { unset %spilz }
on *:start:if !$hget(Spams) { hmake Spams 1000 } | .hload Spams Spam.hash

Bu tür işlemlerde; TXT'den kelime algılatmak "yolun ortasındaki bir ineğin karşıdan gelen arabayı tehlike olarak algılama süresiyle(bilimsel olarak olarak 7 sn.) " eşdeğer olarak görüyorum.Yazılanları %var, uyan tanımları %var, az kalıyordu ki whois'de %var olacaktı birde buna TXT metnindeki bütün kelimeleri %var etmeye kalkarsan , döngülerin yüzünden mircin epey kasılacaktı...Bu yüzden TXT sevdasından vazgeçmelisin,gerekmedikçe mirci yoran bir metoddur.

Hash tablosu ve regular expression bu tür işlemler için en uygun olanıdır.Yukarıda #opers kanalında neler yapman gerektiği belli,diğer kanallarda botun bu eklediğin kelimeyi gördüğün takdirde işlemleri yapar.

"!spamekle mesaj" burdaki mesaj 1 kelime olmalıdır.Birden fazla kelime dengeleri bozar,şimdilik bunu geliştirebilirsin.Bildiğim kadarıyla spamfilter olayında "viruschan" metodu olacaktı,bunu da araştırmanı tavsiye ederim...

İyi forumlar.


Cok Guzel Kod bildigim kadariyla sapart Unreal versionlari icin gecerli.
Benim istedigim Baska Bisi Olcak dostum.
!spamekle KelimeKüfur
Bunu.Koruma Botuna spamkelimeyi ekledi bot
#Sohbet Kanalinda yasakladigim spamkelimeyi Kullanan user olursa
Yasakli Kelime Kullanildi Zline Atilsin.Koruma mIRC Botu Tarafindan ayarliyabilirmisin.Dostum
Not: Cr.icin istiyorum Ayrica Tsk.


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 07:39.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk