Tekil Mesaj gösterimi
Alt 31 Temmuz 2014, 12:47   #10
Çevrimdışı
saywhat
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: adwords.conf soru..




adwords'ü bilemem de, yukarıda verdiğim kod aslında işlev olarak bir badword/spam/küfür koruması. ufak bir düzenlemeyle botun olduğu tüm kanallar üzerindeki ,tüm kanal içi yazışmaları kollayan-tarayan ve buna göre işlem yapan bir kod yani birnevi adwords'ün yaptığı işi yapar hale gelir. (tabi bot'un olduğu tüm kanallar ile sınırlı olacaktır.)

kodun içine gerekli açıklamaları yazdım . bunlara göre kodu kendi tercihlerinize/beklentinize göre düzenleyip kullanabilirsiniz.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
bind pubm - "% *" spam:words ;# botun olduğu tüm kanallardaki mesajlarda ilgili proc işletir. proc spam:words {nick uhost hand chan text} { # if {[matchattr [nick2hand $nick] mnoaf|mnoaf $chan] \ ;# işlemden muaf tutulacak olanlar bu satırda m=bot-master,n=bot sahibi,o=op alan,a=oto-op edilen ve f=dostlar # || [isop $nick $chan] || [ishalfop $nick $chan] \ ;# kanaldaki oplar ve halfoplar # || [isvoice $nick $chan] || $::botnick eq $nick} { return 0 } ;# kanaldaki voicelar ve botun yazdıklarına tepki vermesin* set dosya "spam.txt" ;# yasak kelimelerin girileceği dosya adı set nick [filter $nick] ;# nickteki varsa özel karakterleri filtre ederek görmesi için set text [filter [stripcodes bcruag $text]] ;# yakalanacak kanal mesajlarındaki renk kodlarını ve özel Tcl karakterlerini ayıklayıp botun görmesi/işlemesi için set t [join [lrange [split $text] 0 end]] ;# kişinin yazdığı/gönderdiği satırın tamamı dikkate alınır. #set host [lindex [split [getchanhost $nick $chan] "@"] 1] ;# nickin hostunu alır.hosta işlem yapılacaksa satırı etkin kılın #set ident [lindex [split [getchanhost $nick $chan] "@"] 0] ;# nickin ident kısmına işlem yaptıralacaksa satırı etkin kılın. regsub -all -- {[A-Z\+\%\`\=\&\#\+\-\_\!\~\<\,\@\#\$\%\^\&\*]} $t "A+%`=&#+-_!~<,@#$%^&*" t ;# yasak söz/lerin farklı karakterler arasında gizlenmeye çalışılmasına karşı.. set i 0 set fp [open $dosya r] while {[gets $fp b] >= 0} { ;# dosya açılıp son satıra dek okunur. if {[string match -nocase "*$b*" $t]} { ;# dosyadaki sözlerle eşleşme olup olmadığı kontrol edilir. #putkick $chan $nick :selametle... ;# yasak keli/meleri kullanan kanaldan kicklensin deniyorsa etkin kılın #pushmode $chan +b $nick ;# nicke ban isteniyorsa etkin kılın #pushmode $chan +b *!$ident@* ;# kişinin ident kısmına ban için etkin kılın #pushmode $chan +b *!*@$host ;# kişinin host kısmına ban için etkin kılın #flushmode $chan ;# banlardan biri etkin kılınacaksa bunu etkinleştirmeniz halinde mod hemen işleme konur.daha hızlı tepki vermesini sağlar. putquick "shun $nick 5m :det!!!" putquick "sajoin $nick 0" putquick "sajoin $nick #uyarı" incr i } close $fp } return 0 } # Tcl özel karakterlerini filtre etmekte kullanılacak prosedür. proc filter {text} { set text [string map {"\\" "\\\\" "\[" "\\\[" "\]" "\\\]" "\{" "\\\{" "\}" "\\\}" "\$" "\\\$" "\"" "\\\""} $text] return [subst $text] }


 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet