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/)
-   -   Özele aynı mesaj yazıldığında süreli ignore etme (https://www.ircforumlari.net/mirc-scripting-sorunlari/701628-ozele-ayni-mesaj-yazildiginda-sureli-ignore-etme.html)

bilgiyesusamisadam 09 Eylül 2015 21:13

Özele aynı mesaj yazıldığında süreli ignore etme
 
Merhaba, yapmaya calıştım yapamadım.
Aynı mesaj özelime 3 kere yazdıldığında 1 dakikalığına engellemek istiyorum? Nasıl yapabilirim?

on 1:text şeklinde konuşan bot yaptım
ve özelime yazılan en çok kelimeleri
variables de listemek istiyorum. Yani on 1:text*mesaj*:?:

Yani text karşılığı olmayan mesajları.

uFuK 09 Eylül 2015 22:09

Cevap: Özele aynı mesaj yazıldığında süreli ignore etme
 
Alıntı:

on *:text:*:?: {
hinc -mu60 $nick $1
if ($hget($nick,$1) >= 3) { silence $nick }
}
özeline bir nick ayni mesajdan 1 dakika içinde 3 ve daha fazlasini yazarsa silence eder

Özeline Yazilan En Çok Kelimeleri Listeleme Olayi İstatistik Tutmayi Gerektirir, Hash Tablo Kullanmasını Bilmen Lazim. Biraz Çabala, Ben Sana Destek Olucam Başlıktan.

IrCbaStarD 09 Eylül 2015 22:20

Cevap: Özele aynı mesaj yazıldığında süreli ignore etme
 
Kod:

on *:text:*:?:var %m $remove($1-,$chr(32)) | .hinc -m $nick %m 1 | if $hget($nick,%m) >= 3 { .closemsg $nick | .ignore -pu60 $nick | echo -eat [Engellendi!] Nick: $nick Kelime: $qt($1-) | .hdel -m m $nick  }

IrCbaStarD 09 Eylül 2015 22:45

Cevap: Özele aynı mesaj yazıldığında süreli ignore etme
 
Kod:

on *:text:*:?:{
  var %m $remove($1-,$chr(32)) | .hinc -m $nick %m 1 | if $hget($nick,%m) >= 3 { .closemsg $nick | .ignore -pu60 $nick | echo -eat [Engellendi!] Nick: $nick Kelime: $qt($1-) | .hdel -m m $nick  }
  while x { inc -u %s | inc $+(%,.,kelime,.,$$gettok($1-,%s,32)) }
}
alias kelime-liste {
  $iif(!$window(@kp),window -h @kp,clear @kp)
  if $file(kp.txt) { .remove kp.txt }
  var %s 1, %f $var(%.kelime.*,0), %top 10
  while %s <= %f {
    var %x $+($chr(37),.kelime.)
    write kp.txt $remove($var(%.kelime.*,%s),%x) $($var(%.kelime.*,%s),2)
    inc %s
  }
  filter -fwcteu 2 32 kp.txt @kp
  var %s 1 | while %s <= %top { echo -at %s $+ ) [Kelime] $gettok($$line(@kp,%s),1,32) [Tekrar] $gettok($$line(@kp,%s),2,32) | inc %s }
}

Kelimeleride bu sekilde sayabilirsin.

/kelime-liste yaptiginda en cok kullanilan 10 kelimeyi listelersin, 10dan fazla listelemek icin kirmizi ile belirttigim yeri değişmelisin.

bilgiyesusamisadam 10 Eylül 2015 14:31

Cevap: Özele aynı mesaj yazıldığında süreli ignore etme
 
Yardım için teşekkürler. şuan kullanmaktayım.


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

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