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

 Kayıt ol  Topluluk
5Beğeni(ler)
  • 3 Post By Heartbroken
  • 1 Post By house
  • 1 Post By saywhat

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
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

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Alt 14 Şubat 2012, 15:47   #2
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: badword.tcl -- kanal koruma




Gayet başarılı ve işe yarayan bir TCL , kullanıyorum şu an indirdim ve kurdum. Dikkat ettim çevirilerin de başarılı Heartbroken
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Tebrikler.

 
Alıntı ile Cevapla

Alt 23 Mayıs 2012, 04:41   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: badword.tcl -- kanal koruma




Heartbroken Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
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."



Sistem güzel calısıyor paylasim icin tesekkürler ancak bir sorun var türkce karakterleri kabul etmiyor kelimenin icinde ç ı ş falan gecin ce almiyor
örnek ananı kelimesini eklemek istediginde anan seklinde kalıyor

 
Alıntı ile Cevapla

Alt 23 Mayıs 2012, 09:55   #4
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: badword.tcl -- kanal koruma




wildcard kullanarak ekleme yapabilirsiniz. anan* ..g?t?n* vs vs.. ekleyebilirsiniz.

Türkçe ve diğer utf-8 yazı karakterlerini görmemesi tcl araç komut dilinden kaynaklanan teknik bir sorun [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] .botu kurarken utf-8 patch [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] işlemi uygulayıp kurarsanız yada en son tcllib paketiyle birlikte eggdrop1.8 CVS [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] kurup kullanırsanız bu daha evvel tcl diliyle alakalı teknik kusurlar ortaya çıktıkça ve kullanıcılar sorun bildirdikçe geliştiricilere onlar yeni çıkardıkları versionlarda bu sorunları gidermeye yada örtmeye yönelik yenilikler değişiklikler getiriyorlar o nedenle eski* versionlar yerine ne kadar yeni* tcl paketiyle yeni* eggdrop versi0nlarını beraber kullanırsanız daha az sorun yaşarsanız. özellikle yeni* nesil tcl eggdrop scriptlerinde..

tcl8.6b çıktı [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] bizlerdeki çoğu makinadaysa hala tcl8.4 kurulu oysa ondan sonra 8.5.3 , 8.5.9 , 8.5.11 versionları çıkmıştı.yani tcltk sürekli bir yenilenme gelişme sürecinde sorunlar çıktıkça bildirildikçe bunları gidermek için köklü değişiklikler yapılıyor tcl kütüphanesi dili değişiyor yenileniyor.pek çok tcl komutu yazımı değişiyor gelişiyor eskiden kullanılanların yerine yeni komutlar olmayan komutlar geliyor. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] eggdroplarda yeni versionlarla buna paralel kendini yeni komutlara tcltk ve tcl kütüphanesine kendini uyduruyor [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] yeni komutlar yeni scriptlerle.

ne kadar yeni versionları kullanmaya kurmaya özen gösterirseniz o kadar az sorunla karşılaşırsınız.çünkü yaşanan sorunlar bug olarak bildiriliyor yenilenen versionlarla bunlar giderilip ayıklanıyor.

 
Alıntı ile Cevapla

Alt 14 Kasım 2012, 22:10   #5
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: badword.tcl -- kanal koruma




Tek bişeye takıldım , Bu tcle de kufurleri #admin , #oper vs gibi kanallardan ekletip tum kanallarda atma islemi gerceklesdirmesini sağlaya bilirmiyiz ?

!addbadwords Kelime ( Kanalin ortasında cok hos olmuyo sanki.


Paylaşım içinde tşkler.

 
Alıntı ile Cevapla

Alt 26 Kasım 2012, 21:55   #6
Çevrimdışı
Was
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: badword.tcl -- kanal koruma




Bunun yerine kullanılabilecek bir TCL basit ama güzel gene de;

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
set badwords 
"*kelime1*" 
"*kelime2*" 
"kelime3*"
"eklemeye devam et alt alta"

 
bind pubm "*" pubm:badword 
 
proc pubm
:badword {nick uhost hand chan text} { 
 global 
badwords 
  
if {[botisop $chan] && ![isbotnick $nick]} { 
   foreach 
badword $badwords 
    if {[
string match -nocase $badword $text]} { 
      
putquick "MODE $chan +b *!*@[lindex [split $uhost @] 1]" 
      
putquick "KICK $chan $nick :Badword *$badword* yasak kelime tespit edildi." 
      

    } 
  } 



 
Alıntı ile Cevapla

Alt 27 Kasım 2012, 00:17   #7
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: badword.tcl -- kanal koruma




kanalda eklemek istemiyormusunuz ? yapacağınız şey şu:
badwordkanalınız.txt oluşturuyorsunuz.mesala diyelimki #maho kanalı için badwordmaho.txt adında not defteri gibi bir txt editörüyle açtığınız dosyaya yasaklamak istediğiniz kötü sözleri şu şekilde alt alta ekliyorsunuz:
kötüsöz#sebep

şeklinde kötü sözleri eklerken wildcard * , ? kullanabilirsiniz. örnek:

h?yar*#o snn bubandır...
salatal?k#yanınada domates doğrarız.
...
vs vs hangi kanal için badword kötüsöz listesi oluşturmak isteniyorsa kanal üstünde ekleme yapmak rahatsız ediyorsa bu şekilde txt dosyaları oluşturup botunuzun scripts/badword/ klasörü içine"
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
set badwordfile "$badword_cfg(datapath)/badword[string trimleft $chan #].txt"

kod içinde burda belirtilmiş kötü sözler için oluşturulacak eklenecek txt dosyalarının yeri.görüldüğü gibi her kanal için ayrı badword.txt aranıp ekleniyor yoksa oluşturuluyor.elle manuel olarak girilebilir.botun görmesi için .rehash yada .restart uygulayın.

[bu kod yabancı bir sunucuda kullanılıyordu uzun yıllardır.yabancı sunucularda kanal içi işlere karışılmaz.o kanalın yetkilileri sorumludur.sadece bizde görülebilecek bir şey bu operların adminlerin kanal içi işlere karışması.o yüzden tek kanal üstünden operların tüm kanallar için kötüsöz eklemesi düşüncesi bana ters geliyor.illa bu şekilde düzenlemek isteyen düzenlesin.bu tarz bir editleme işine ben girmem.illa operlar eklemek istiyorsa bu kodu kullanmasınlar...bu kodun amacı bu değil.kanal koruma için yapılmış sunucu koruma için değil.illa eklenmek isteniyorsa adwords yada spamfilter kullanın madem.)

 
Alıntı ile Cevapla

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 koruma botu Mesisto Eggdrop, NeoStats, BNC 3 10 Şubat 2012 18:00
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