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/)
-   Eggdrop, NeoStats, BNC (https://www.ircforumlari.net/eggdrop-neostats-bnc/)
-   -   adwords.conf soru.. (https://www.ircforumlari.net/eggdrop-neostats-bnc/602354-adwordsconf-soru.html)

alphae 28 Temmuz 2014 01:59

adwords.conf soru..
 
merhaba arkadaşlar sorum şu diyelimki biri küfür eti adwords takıldı var bot onu shunlaya bilirmi 5 dakikalik? veya tum odalardan cikarip a odasina atabilirmi?

ozelde yaza bilsin kanalda kufur edemesin bu munkunmu?

bu iki işlemi yapmak istiyorum münkünmü ?

aLone 28 Temmuz 2014 03:06

Cevap: adwords.conf soru..
 
kanala yansıyan mesajla bir şeyler yapılabilir
örnek bir adwords kanalına yansıma
[02:57:56] <irc.sunucum.com> [?] (HasaN:PRIVMSG: dopmusun

Buradan HasaN nickini baz alıp 5 dk lık shun uygulayıp kanallardan part ettirip #uyarı kanalına sajoin yaptırabilir,
kişinin özeline uyarı msg si yollayabilir vs vs.

tabiki bu bir örnek vede #adwords kanalında bu text yi algılayıp bu işlemleri yapcak bir bot olmalı.

bunun haricinde tcl yada unreal services üzerinden neler yapılır bilmiyorum
Normal bir küfür koruması gibi düşüne bilirsin.

bu saatte aklıma bu geldi bu arada iyi bayramlar. :))

aLone 28 Temmuz 2014 04:02

Cevap: adwords.conf soru..
 
adwords kanalına yansıyan bir yazıyı paylaşırmısın ona göre ayarlayım bişiler :)

aLone 28 Temmuz 2014 05:25

Cevap: adwords.conf soru..
 
Kod:

on *:text:*:#Adwords:{
  var %\ = 1,%\\ = $lines(spam.txt),%nickx = $remove($token($2,1,58),$chr(40))
  while %\ <= %\\ {
    if $+(*,$read(spam.txt,%\),*) iswm $strip($2-) {
      shun %nickx 5m kurallara_uyalım | sajoin %nickx 0  | sajoin %nickx #deneme
    }
    inc %\
  }
}

bendeki spam kanalına düşen uyarıya göre ayarlı
senin sunucundaki adword mesajını kopyalarsan yardımcı olurum..

spam.txt dosyasına işlem yapılmasını istedigin kelimeleri ekliyosun
kişiye 5 dakıka shun uyguluyor
kişiyi tüm kanallardan part ettirip örnek kanal #deneme kanalına sajoinliyor
deneme kanal topic ine uyarı msj ı yazabılırsın yada bot deneme kanalına girip uyarı verebilir vs vs

saywhat 28 Temmuz 2014 06:38

Cevap: adwords.conf soru..
 
Kod:

bind pubm - "#adwords *" ad:words

proc ad:words {nick uhost hand chan text} {
        set dosya "spam.txt"
        set text [filter [stripcodes bcruag $text]]
  if {[regexp -nocase -- {\((.*?):PRIVMSG:(.*)$} $text "" hedef laf]} {
        regsub -all -- {[A-Z\+\%\`\=\&\#\+\-\_\!\~\<\,\@\#\$\%\^\&\*]} "A+%`=&#+-_!~<,@#$%^&*" "" laf
        set laf *[string map -nocase {" " *} $laf]*
        set i 0
        set fp [open $dosya r]
      while {[gets $fp b] > -1} {
  if {[string match -nocase "*$b*" $laf]} {
          putquick "shun $hedef 5m :det!!!"
          putquick "sajoin $hedef 0"
          putquick "sajoin $hedef #uyarı"
          incr i
          }
      }
      close $fp
  }
  return 0
}

proc filter {text} {
  set text [string map {\\ \\\\ \[ \\\[ \] \\\] \{ \\\{ \} \\\} \$ \\\$ \" \\\"} $text] 
  return $text
}

Tcl ile de böyle birşey olsa gerek....

saywhat 28 Temmuz 2014 10:01

Cevap: adwords.conf soru..
 
kendi botuma göre ayarlayıp ,sorun olup olmadığını test ettim.

bot ana dizininde spam.txt oluşturup
denemek için botun yakalaması için birkaç "yasak" kelimeyi alt alta girdim.
kimini : *s*p*a*m - kiminide : yassağ - vs gibi ekledim ki neyi yakalayıp neyi yakalamadığını görebileyim.

denemeler sonucunda koda biraz "rütuş" yapmak gerekti.. en iyi sonucu :

Kod:

bind pubm - "% *" ad:words

proc ad:words {nick uhost hand chan text} {
        # bot ana dizininde spam.txt dosyası oluşturun içine yasak sözleri alt alta yazın
        # wildcard kullanarak ta ekleme yapılabilir *sp*a? vs gibi .
        # bunlarda büyük-küçük harf fark etmez.       
        set dosya "spam.txt"
       
        # yakalanacak kanal mesajındaki olası renk kodlarını ve özel karakterleri ayıklamak için
        set text [filter [stripcodes bcruag $text]]
       
        #kanalda hangi mesajı yakalayıp, postalayan nicki ve yazdığı şeyleri yakaladığı kısım
  if {[regexp -nocase -- {\((.*?):PRIVMSG:(.*)$} $text "" hedef laf]} {
 
        # spam sözü,harfler arasına farklı karakterler yerleştirip atanlar için alttaki satır.
        # ilk attığım kodda bu satırda hata yapmışım.o nedenle beklenen işi yapmıyor-du...
        # olması gereken şekli budur.
        regsub -all -- {[A-Z\+\%\`\=\&\#\+\-\_\!\~\<\,\@\#\$\%\^\&\*]} $laf "A+%`=&#+-_!~<,@#$%^&*" laf
       
        # bu satıra gerek yokmuş.bu olsada,olmasada yapacağını yapıyor.
        #set laf *[string map -nocase {" " *} $laf]*
       
        set i 0
        set fp [open $dosya r]
      while {[gets $fp b] >= 0} {
     
        # kanaldan yakalanan mesajlar "laf" dosyadan okunanlarla eşleşiyormu ?
        # diğer deyişle ,yasak kelime/ler içeriyor mu?
  if {[string match -nocase "*$b*" $laf]} {
 
          # kendi botumda denerken eklediğim satır. "laf" ları ve nick kısmını, dosyadan okunan
          # kelimelerle eşleşme olduğunda kanala yakalanan nicki ve "laf" ları nasıl yakaladığını
          # "laf" içinde ve nick'te olabilecek özel karakterlerin bot için bir sorun
          # olup olmadığını görmek için kullandım.  siz kullanmayın..         
          #puthelp "privmsg $chan :laf çıktısı: -> $laf  - hedef-nick çıktısı: ->  $hedef"
         
          #putquick "shun $hedef 5m :det!!!"
          #putquick "sajoin $hedef 0"
          #putquick "sajoin $hedef #uyarı"
          incr i
          }
      }
      close $fp
  }
  return 0
}
# Tcl için özel karakterleri filtre etmek için prosedür.
# bunda da "sorun" vardı .. istenen işi iyi yapmıyordu...onarıldı..
proc filter {text} {
  set text [string map {"\\" "\\\\" "\[" "\\\[" "\]" "\\\]" "\{" "\\\{" "\}" "\\\}" "\$" "\\\$" "\"" "\\\""} $text]
  return [subst $text]
}

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

bu şekilde verdi... buna göre kodun son "çalışan" denenmiş ,sizin kullanmak isteyebileceğiniz hali :

Kod:

bind pubm - "#adwords *" ad:words

proc ad:words {nick uhost hand chan text} {   
        set dosya "spam.txt"
        set text [filter [stripcodes bcruag $text]]
  if {[regexp -nocase -- {\((.*?):PRIVMSG:(.*)$} $text "" hedef laf]} {
        regsub -all {[A-Z\+\%\`\=\&\#\+\-\_\!\~\<\,\@\#\$\%\^\&\*]} $laf "A+%`=&#+-_!~<,@#$%^&*" laf
        set i 0
        set fp [open $dosya r]
      while {[gets $fp b] >= 0} {
  if {[string match -nocase "*$b*" $laf]} {
          putquick "shun $hedef 5m :det!!!"
          putquick "sajoin $hedef 0"
          putquick "sajoin $hedef #uyarı"
          incr i
          }
      }
      close $fp
  }
  return 0
}

proc filter {text} {
  set text [string map {"\\" "\\\\" "\[" "\\\[" "\]" "\\\]" "\{" "\\\{" "\}" "\\\}" "\$" "\\\$" "\"" "\\\""} $text]
  return [subst $text]
}


alphae 31 Temmuz 2014 01:31

Cevap: adwords.conf soru..
 
tsk ederim son sorum şu bu adwrods sadece kanala için kulansak yani özeli etkilemese münkünmü yani kanala yazinca adwords odasina dusun özeldeki mesaj gitsin özeler bizi ilgilendirmiyor yani sonucta sevgilisiyle cinselik yapanda oluyor..

aLone 31 Temmuz 2014 02:12

Cevap: adwords.conf soru..
 
Alıntı:

alphae Nickli Üyeden Alıntı (Mesaj 1041466610)
tsk ederim son sorum şu bu adwrods sadece kanala için kulansak yani özeli etkilemese münkünmü yani kanala yazinca adwords odasina dusun özeldeki mesaj gitsin özeler bizi ilgilendirmiyor yani sonucta sevgilisiyle cinselik yapanda oluyor..

Bu bölüm iyiydi :)) sonucta sevgilisiyle cinselik yapanda oluyor..

alphae 31 Temmuz 2014 05:48

Cevap: adwords.conf soru..
 
ama öyle öze hayata mudale etmek dogru olmaz adminler goruyor yazismlari yani *** icerik cümleri sonra özele gidip bunu yazdın diyor ardindan ozel okundugu saniliyor bu ciddi bir sorun zaten


adwords sadece kanal icin olmali..

saywhat 31 Temmuz 2014 12:47

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:

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]
}



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

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net