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

>
+
Etiketlenen Kullanıcılar

5Beğeni(ler)
  • 3 Post By Heartbroken
  • 1 Post By house
  • 1 Post By saywhat

 
 
LinkBack Seçenekler Stil
Prev önceki Mesaj   sonraki Mesaj Next
Alt 10 Şubat 2012, 08:59   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
badword.tcl -- kanal koruma




Selam

sabahın erken saatlerinde paylaştığım badnick koruma scripti gibi buda eski* sunucularımda botların girdiği kanallarda kanal yetkililerin kullanımına ,o kanalın savunmasına yönelik bir script.

Adından anlaşılacağı üzere badword- kötü söz koruması..komutla botun op (@) olduğu kanalda en az halfop (%) ve üzeri kanal yetkililerinin ekleyip-sileceği ve listeleyeceği şekilde yapılmıştır.

kanalda accessi olan voice (+) ve üzeri kimselere bu koruma işlemez-muaf tutar.ayrıca kod içinde muaf tutulacak kelimelerin eklenebildiği bir bölümde mevcuttur.(bunu kendinize göre düzenlemeniz gerekecektir.)

uluslararası yabancı bir sunucudaki resmi yardım kanallarının koruma botlarında kullanılmış ve halen kullanılan bir kod olduğundan orjinali ingilizce idi. Burda paylaşmak için kendimce Türkçe'leştirdim ve kullanımınıza sunuyorum.

komutlar:

!addbadword kelime* sebep -> !addbadword *napyon* napıyon olcaktı tüh bak...

!rembadword kelime* -> !rembadword *napyon*

!listbadword

görüldüğü üzere wildcard kullanabilme imkanı var.kodun en üstünde badwordlerin saklanacağı .txt dosyasının yerini-dizini doğru şekilde belirtiniz.

ÖNEMLİ: kodda satır 210-222 arasında korumadan muaf tutulacak kelimelerin ekleneceği kısım vardır.bu kısmı kendinize göre düzenleyiniz.çoğaltıp -azaltabilirsiniz o satırları..

Örneğin: korumaya [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] yada [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] badword- kötü söz olarak eklemişinizdir.ancak bazı sitelerin yazılmasına tölerans göstermek istiyorsunuzudur .işte o bölümde bunları belirtmelisiniz.

umarım ki işinize yarayacaktır.Güle güle kullanın.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
set badword_version "1.3" #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # KURULUM #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # eklenen kötü sözlerin kayıtedileceği dizini belirtin (sonu slash ile bitmeyecek şekilde) set badword_cfg(datapath) "/home/broken/ircd/bot/scripts/BadWords" # set badword_cfg(nameroot) "badwords-" #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # KURULUM SONU - bu bölümden sonrasına ne yaptığınızı bilmiyorsanız dokunmamalısınız :) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ADDBADWORD #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ####triggerların olduğu dosyaya yeni bir girdi eklemek için kullanılan prosedür bind pub - !addbadword badword:pub:add proc badword:pub:add { nick uhost handle chan arg } { if { ![isop $nick $chan] && ![ishalfop $nick $chan] } { return 0 } set word [swear:filter2 [string range $arg 0 [expr [string first " " $arg]-1]]] set reason [lrange $arg 1 end] if { $word == "" || $reason == "" } { puthelp "NOTICE $nick :Please provide a badword and a reason." return 0 } # kontroller tamam.yeni bir girdi ekleyelim. global badword_cfg set file "$badword_cfg(datapath)/badword[string range $chan 1 end].txt" set write [open $file a] puts $write "$word#$reason" close $write puthelp "NOTICE $nick : $word kelimesi $chan kanalında kötü söz olarak eklendi." } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # REMBADWORD #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # bu prosedür daha önce eklenmiş kelimenin # kanalında silinmesi içindir. bind pub - !rembadword badword:pub:rem proc badword:pub:rem { nick uhost handle chan badword } { if { ![isop $nick $chan] && ![ishalfop $nick $chan] } { return 0 } # scripti daha okunaklı hale getirir global badword_cfg set badwordfile "$badword_cfg(datapath)/badword[string trimleft $chan #].txt" # eger badword dosyası yoksa... if { ![file exists $badwordfile ] } { puthelp "NOTICE $nick : $chan kanalı için bir badword dosyası bulunamadı... Barış :)" return 0 } set tempfile "$badword_cfg(datapath)/badword[string trimleft $chan #].bak" set readfirst [open $badwordfile r] set linenumb 0 set count 0 puthelp "NOTICE $nick :İşleniyor: Kötü Söz kaldırılıyor." while { ![eof $readfirst] } { gets $readfirst line set helpwanted [string range $line 0 [expr [string first # $line]-1]] if { $badword != $helpwanted } { if { $linenumb==0 } { set writetemp [open $tempfile w] puts $writetemp $line close $writetemp incr linenumb } else { set writetemp [open $tempfile a] puts $writetemp $line close $writetemp incr linenumb } } else { incr count puthelp "NOTICE $nick :($count):!addbadword $helpwanted [string range $line [expr [string first # $line]+1] end]" } } close $readfirst set readfirst2 [open $tempfile r] set linenumb2 0 while { ![eof $readfirst2] } { gets $readfirst2 line if { [string first # $line] != -1 } { if { $linenumb2 == 0 } { set writetemp [open $badwordfile w] puts $writetemp $line close $writetemp incr linenumb2 } else { set writetemp [open $badwordfile a] puts $writetemp $line close $writetemp } } } # bu dosyayı ne diye açtık bir hiç için ?? # daha güçsüz bırakmak için mi ? if { $linenumb2 == 0 } { set writetemp [open $badwordfile w] close $writetemp } close $readfirst2 puthelp "NOTICE $nick :Tamamlandı: Kötü Söz kaldırıldı." } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # LISTBADWORDS #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Daha önce o kanal için eklenmiş tüm kötü sözler # için soran yetkiliye listelenmesi prosedürü. bind pub - !listbadword badword:pub:list bind pub - !listbadwords badword:pub:list proc badword:pub:list { nick uhost handle chan badword } { if { ![isop $nick $chan] && ![ishalfop $nick $chan] } { return 0 } # scripti daha okunaklı yapıyor global badword_cfg set badwordfile "$badword_cfg(datapath)/badword[string trimleft $chan #].txt" # eğer kötü söz dosyası yoksa... if { ![file exists $badwordfile ] } { puthelp "NOTICE $nick : $chan kanalı için oluşturulmuş bir Kötü Söz dosyası bulunamadı... Barış :)" return 0 } set read [open $badwordfile r] set text "" while { ![eof $read] } { gets $read line set text "$text [lindex [split $line #] 0]" } close $read set finish [string range $text 1 [expr [string length $text]-2]] if { $finish == "" } { puthelp "NOTICE $nick : $chan kanalı için oluşturulmuş herhangi bir Kötü Söz listesi yok :)" return 0 } # eğer ki eklenmiş kötü sözlerin sayısı çok ise. # listelerken satır aralıkları bırakacak yada satır nosu bildirilecek set long [split $finish] if { [llength $long] > 30 } { for { set c 0} { $c < [llength $long] } { incr c 30 } { if { $c == 0 } { puthelp "NOTICE $nick : $chan: kanalı için Kötü Sözler : 4[lrange $long $c [expr $c+29]]" } else { puthelp "NOTICE $nick : 4[lrange $long $c [expr $c+29]]" } } } else { puthelp "NOTICE $nick : $chan: kanalı için Kötü Sözler 4$finish" } } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # BADWORDS kontrol #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # kanal üstündeki yazışmalarda kötü söz kontrolünü # yapan prosedür # bind hepsi bind pubm - "* *" badword:pubm:check proc badword:pubm:check { nick uhost handle chan arg } { # yetkililere dokunma if { [isop $nick $chan] || [ishalfop $nick $chan] || [isvoice $nick $chan] } { return 0 } # muaf kelimeleri ayrı tutma. if { [string match -nocase "*bir-kelime-girin*" $arg] } { return 0 } if { [string match -nocase "*atmasın-bu kelimeleri*" $arg] } { return 0 } if { [string match -nocase "*bundan-atmasın*" $arg] } { return 0 } if { [string match -nocase "*böyle-çoğaltabilirsiniz*" $arg] } { return 0 } # scripti daha okunaklı yapalım global BadwordWarn badword_cfg set badwordfile "$badword_cfg(datapath)/badword[string trimleft $chan #].txt" # kötü söz dosyası yoksa.. if { ![file exists $badwordfile ] } { return 0 } # kelimeleri kötü söz listesinde araştır set input " [swear:filter $arg] " set read [open $badwordfile r] while { ![eof $read] } { gets $read line set helpwanted [string range $line 0 [expr [string first # $line]-1]] set message [string range $line [expr [string first # $line]+1] end] if { [string match -nocase "* $helpwanted *" $input] == 1 && $helpwanted != "" } { if {([info exists BadwordWarn($uhost)] == 1)} { putserv "MODE $chan +b $uhost" putserv "KICK $chan $nick : $message ($helpwanted) " unset BadwordWarn($uhost) } else { set BadwordWarn($uhost) 1 timer 5 "unset BadwordWarn($uhost)" putserv "KICK $chan $nick : $message ($helpwanted) " } } } close $read } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # filtre #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proc swear:filter {str} { # regsub -all -- {\003[0-9]{0,2}(,[0-9]{0,2})?|\017|\037|\002|\026|\006|\007} $str "" str regsub -all -nocase {[^a-z,0-9@:/\s\|]} $str "" str return $str } # bunu kim yaptı bilmiyorum.deniyorum... proc swear:filter2 {str} { # regsub -all -- {\003[0-9]{0,2}(,[0-9]{0,2})?|\017|\037|\002|\026|\006|\007} $str "" str regsub -all -nocase {[^a-z,0-9*?@:/\s\|\-]} $str "" str return $str } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ putlog "BadWord.tcl v$badword_version yüklendi."


__________________
Beş Tas Has Hoş Hoşaf.
 
Alıntı ile Cevapla

 

Etiketler
badwordtcl, koruma, kötüsöz, spamkoruma


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Kanal Flood Koruma cLaS mIRC Scripting Hazır Kodlar 0 25 Mart 2012 22:27
kanal koruma ve kişisel koruma addon isteği Svs1988 mIRC Scripting Sorunları 1 05 Ekim 2011 10:34
Cinsel Kanal Koruma HaKuNa mIRC Scripting Sorunları 24 25 Temmuz 2010 17:51
Badword de Kanal Temizleme Anope-1.7.18-19 ysfm Anope 5 23 Mayıs 2009 23:36
Kanal Koruma Sorun ? quruR mIRC Scripting Sorunları 1 19 Şubat 2009 20:53