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/)
-   -   Pencere ve Willcard sorunu (https://www.ircforumlari.net/mirc-scripting-sorunlari/901241-pencere-ve-willcard-sorunu.html)

High 14 Şubat 2021 18:11

Pencere ve Willcard sorunu
 
Kod:

on @*:TEXT:*:#: {
  ;4 +o +h +v11'ler bu değerden etkilenmeyecekler.
  if ($nick !isreg #) return
  var %l = $strip($1-)
  if ($hmatch(badwords,%l)) {
    ban -u5000 # $nick 3
    kick # $nick 0,1FORBiDDEN:10 Uygunsuz kelimeler;4 Küfür, Hakaret Argo vb10 Kelimeler kullandığınız için kanaldan uzaklaştırıldınız.
  }
}
alias badwords {
  if ($1 == ekle) && ($regex($2,[A-Za-z])) {
    if !$hget(badwords) { hmake badwords 1000 }
    hadd badwords $2
    secho  $2  4veritabanina başarıyla eklendi
    hsave badwords badwords.data
  }
  elseif ($1 == sil) {
    if ($hfind(badwords,$2)) {
      hdel badwords $2
      secho $2 11veritabanindan başarıyla silindi
      hsave badwords badwords.data
    }
    else { secho $2 7veritabaninda bulunamadı }
  }
  elseif ($1 == list) {
    var %x = 1
    while (%x <= $hget(badwords,0).item) {
      set %hbadwords $addtok(%hbadwords,$hget(badwords,%x).item,1)
      if ($numtok(%hbadwords,32) >= 7) { secho $replace(%hbadwords,$chr(1),$+($chr(32),-,$chr(32))) | unset %hbadwords }
      inc %x
    }
    if ($numtok(%hbadwords,32) >= 1) { secho $replace(%hbadwords,$chr(1),$+($chr(32),-,$chr(32)))  | unset %hbadwords }
  }
  else { secho 11hatalı işlem }
}
alias secho {
  ;echo -a $1-
  if (!$window(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]S)) { window -en @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]S }
  echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]S $+($chr(40),$time,$chr(41),$chr(32),$1-)
}
on *:start: {
  if !$hget(badwords) { hmake badwords 1000 }
  if !$isfile(badwords.data) { hsave badwords badwords.data }
  hload badwords badwords.data
}

Selamun aleykum arkadaşlar yukarı da vermiş olduğum Küfür Kodu gayet güzel çalışmakta. Yanlış hatırlamıyorsam aCuSTiC arkadaşımıza ait di. Yalnız Kod da şöyle bi sorun yaşıyorum. Mesela kelimeyi eklerken willcard kullanıyoruz. Örnek: *Selam?nasılsın* şeklinde ekledik. Boşluklara anladığım kadarıyla ? işareti gelmeli dimi? boşluk olarak eklediğim de almıyor denedim. Kanalda ?? yazan yada * yazanı da atıyor buna sebep ne anladım. @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]s penceresine yapılan, takılan maskları yansıta bilir miyiz? Örneğin #Sohbet kanalında nickli kullanıcının kullandığı kelime takılan mask; şeklinde? en azından saçma sapan BAN attığın da sebep olan sorunu da görmüş oluruz. Teşekkürler.

cinaryigit 14 Şubat 2021 18:54

Cevap: Pencere ve Willcard sorunu
 
Atıldığı kelimeyi @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]s penceresinde gösterir.
[18:50] Ban Sebebi: Atılgan #angara Kanalında 18:50:10 Saatinde Şunu Yazdı: < sanane >
Diğerini bilmiyorum :)

Kod:

on @*:TEXT:*:#: {
  ;4 +o +h +v11'ler bu değerden etkilenmeyecekler.
  if ($nick !isreg #) return
  var %l = $strip($1-)
  if ($hmatch(badwords,%l)) {
    ban -u5000 # $nick 3
    kick # $nick 0,1FORBiDDEN:10 Uygunsuz kelimeler;4 Küfür, Hakaret Argo vb10 Kelimeler kullandığınız için kanaldan uzaklaştırıldınız.
    if ($window(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]s) == $null) { window -ne @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]s }
    echo -t @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]s Ban Sebebi: $nick  $chan  Kanalında $time Saatinde Şunu Yazdı: < $1- >
  }
}
alias badwords {
  if ($1 == ekle) && ($regex($2,[A-Za-z])) {
    if !$hget(badwords) { hmake badwords 1000 }
    hadd badwords $2
    secho  $2  4veritabanina başarıyla eklendi
    hsave badwords badwords.data
  }
  elseif ($1 == sil) {
    if ($hfind(badwords,$2)) {
      hdel badwords $2
      secho $2 11veritabanindan başarıyla silindi
      hsave badwords badwords.data
    }
    else { secho $2 7veritabaninda bulunamadı }
  }
  elseif ($1 == list) {
    var %x = 1
    while (%x <= $hget(badwords,0).item) {
      set %hbadwords $addtok(%hbadwords,$hget(badwords,%x).item,1)
      if ($numtok(%hbadwords,32) >= 7) { secho $replace(%hbadwords,$chr(1),$+($chr(32),-,$chr(32))) | unset %hbadwords }
      inc %x
    }
    if ($numtok(%hbadwords,32) >= 1) { secho $replace(%hbadwords,$chr(1),$+($chr(32),-,$chr(32)))  | unset %hbadwords }
  }
  else { secho 11hatalı işlem }
}
alias secho {
  ;echo -a $1-
  if (!$window(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]S)) { window -en @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]S }
  echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]S $+($chr(40),$time,$chr(41),$chr(32),$1-)
}
on *:start: {
  if !$hget(badwords) { hmake badwords 1000 }
  if !$isfile(badwords.data) { hsave badwords badwords.data }
  hload badwords badwords.data
}

Keyifli İF'ler

High 14 Şubat 2021 19:50

Cevap: Pencere ve Willcard sorunu
 
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Aynen çalışıyor ama dediğin gibi küfür geçen kelimeyi yansıtıyor sadece ekli maskı göstermiyor. Dur bakalım bilen birileri vardır herhalde.

Hesapsiz33 14 Şubat 2021 20:08

Cevap: Pencere ve Willcard sorunu
 
Boşlukların arasına alt çizgi ekliyerek deneyin birde
Selam_nasılsın gibi.
Eklenen maskı yansıtmak için $hget(badwords) veya $hget(badwords).item yazarak deneyin birde.
Pek anlamıyorum ama belki olur.

High 14 Şubat 2021 20:09

Cevap: Pencere ve Willcard sorunu
 
Arkadaşlar yukarıda belirttiğim sorunu Çözdüm. KOd'un son halini burada paylaşıyorum belki kullanmak isteyen olur.
Kod:

on @*:TEXT:*:#: {
  ;4 +o +h +v11'ler bu değerden etkilenmeyecekler.
  if ($nick !isreg #) return
  var %l = $strip($1-)
  if ($hmatch(badwords,%l)) {
    ban -u5000 # $nick 3
    kick # $nick 0,1FORBiDDEN:10 Uygunsuz kelimeler;4 Küfür, Hakaret Argo vb10 Kelimeler kullandığınız için kanaldan uzaklaştırıldınız.
    if ($window(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]S) == $null) { window -ne @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]S }
    echo -t @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]S ==>0,1 # 12Kanalında uzaklaştırılan 0,1NiCK:4[ $nick ]12 yasağa takılan mask:0,1 $hmatch(badwords,%l)
  }
}
alias badwords {
  if ($1 == ekle) && ($regex($2,[A-Za-z])) {
    if !$hget(badwords) { hmake badwords 1000 }
    hadd badwords $2
    secho  $2  4veritabanina başarıyla eklendi
    hsave badwords badwords.data
  }
  elseif ($1 == sil) {
    if ($hfind(badwords,$2)) {
      hdel badwords $2
      secho $2 11veritabanindan başarıyla silindi
      hsave badwords badwords.data
    }
    else { secho $2 7veritabaninda bulunamadı }
  }
  elseif ($1 == list) {
    var %x = 1
    while (%x <= $hget(badwords,0).item) {
      set %hbadwords $addtok(%hbadwords,$hget(badwords,%x).item,1)
      if ($numtok(%hbadwords,32) >= 7) { secho $replace(%hbadwords,$chr(1),$+($chr(32),-,$chr(32))) | unset %hbadwords }
      inc %x
    }
    if ($numtok(%hbadwords,32) >= 1) { secho $replace(%hbadwords,$chr(1),$+($chr(32),-,$chr(32)))  | unset %hbadwords }
  }
  else { secho 11hatalı işlem }
}
alias secho {
  ;echo -a $1-
  if (!$window(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]S)) { window -en @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]S }
  echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]S $+($chr(40),$time,$chr(41),$chr(32),$1-)
}
on *:start: {
  if !$hget(badwords) { hmake badwords 1000 }
  if !$isfile(badwords.data) { hsave badwords badwords.data }
  hload badwords badwords.data
}
------------------------------------
/Badwords ekle *kelime*
/Badwords sil *kelime*
/Badwords list

Arkadaşlar zaten komutları verilmiş. Anlatılacak bir şey yok. Eklerken willcard kullanıyorsunuz daha kapsamlı ekleme yapabiliyorsunuz. Ek olarak Küfürlü kelime kullanan kişi @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]s penceresin gösterilir. Hangi kanalda hangi nick ne sebeple? hangi mask'ı kullandığı için atılmış görebilir. BUna göre de gerek görürseniz küfür ekler, siler yada düzenleye bilirsiniz.


KONU KİLİT.!

High 16 Şubat 2021 14:09

Cevap: Pencere ve Willcard sorunu
 
Arkadaşlar kusura bakmayın konu Kilit dedik ama başka bi sorunla karşılaştım.
[13:46] <Nick> ???
[13:46] * Oper mod değiştirdi:+b *!*Kaos@*.246.8DC331BA.FA0208CE
takılan MASK;
[13:46] ==> #Sohbet Kanalında uzaklaştırılan NiCK:[ Nick ] yasağa takılan mask: amq
Gördüğünüz gibi kişi ??? yazmış kanala fakat KOD amq olarak algılamış ve işlem yapmış ne sebepten böyle hatalı bi işlem uyguluyor olabilir. Bilgisi olan yardımcı olabilir mi? KOD'un son hali yukarıda'dır.

SuLh 16 Şubat 2021 14:35

Cevap: Pencere ve Willcard sorunu
 
Wildcard üzerinde "?" bu herhangi bir karakter anlamına geldiğinden, ??? ifadesi hash tablosunda 3 karakterli herhangi bir stringle eşleşecektir. Ayrıca boşluk eklenmemesinin sebebi hash tablosuna eklendiğinden <item> <data> kuralına uyduğu için (ilk kelimeyi item kalanını data görecek.)

Mylife 16 Şubat 2021 14:44

Cevap: Pencere ve Willcard sorunu
 
Alıntı:

High Nickli Üyeden Alıntı (Mesaj 1042442756)
Arkadaşlar kusura bakmayın konu Kilit dedik ama başka bi sorunla karşılaştım.
[13:46] <Nick> ???
[13:46] * Oper mod değiştirdi:+b *!*Kaos@*.246.8DC331BA.FA0208CE
takılan MASK;
[13:46] ==> #Sohbet Kanalında uzaklaştırılan NiCK:[ Nick ] yasağa takılan mask: amq
Gördüğünüz gibi kişi ??? yazmış kanala fakat KOD amq olarak algılamış ve işlem yapmış ne sebepten böyle hatalı bi işlem uyguluyor olabilir. Bilgisi olan yardımcı olabilir mi? KOD'un son hali yukarıda'dır.

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

High 16 Şubat 2021 15:00

Cevap: Pencere ve Willcard sorunu
 
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] hocam eyvallah çok sağ ol bilgi için. Şunu anlamadım mesela ' Selam Lezbiyenler ' yazdığın da biri ben bunu şu şekilde ekliyordum. *Selam?Lezb?yenler* şeklinde. Boşluk yerine ne kullanmalıyım burada onu anlamadım _ mi kullanılmalı yada. Ben Badnick eklerken nasıl willcard kullanıyorsak küfürlü kelime için de aynı o şekilde kullanıyorum. @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] hoca willcard konu anlatımının linkini vermiş onu da inceleyeceğim. Fakat bilmek istediğim boşluk yerine bu KOD da ne kullanmalıyım ve ö,i,ü,ç,ş gibi cümle de geçen harfler için ? işareti kullanmamalı mıyım?

Toprak 16 Şubat 2021 16:24

Cevap: Pencere ve Willcard sorunu
 
Böyle kullanabilirsin, sorun yaşamaşsın;

Kod:

on @*:text:*:#:{
  if ($nick !isreg #) { return }
  elseif $hfind(badwords,$strip($1-),1,W).data {
    ban -u5000 # $nick 3
    kick # $nick 0,1FORBiDDEN:10 Uygunsuz kelimeler;4 Küfür, Hakaret Argo vb10 Kelimeler kullandığınız için kanaldan uzaklaştırıldınız.
    $iif(!$window(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]S),.window -ne @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]S)
    echo -t @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]S ==>0,1 # 12Kanalında uzaklaştırılan 0,1NiCK:4[ $nick ]12 yasağa takılan mask:0,1 $hget(badwords,$hfind(badwords,$strip($1-),1,W).data)
  }
}
alias badwords {
  if ($1 == ekle) && $regex($2,[A-Za-z]) {
    .hadd -ms badwords $left($md5($ticks),$r(10,25)) $strip($2)
    .hsave badwords badwords.data
    secho  $strip($2)  4veritabanina başarıyla eklendi
  }
  elseif ($1 == sil) && $regex($2,[A-Za-z]) {
    if $hget(badwords,$strip($2)).data {
      .hdel -ms badwords $hfind(badwords,$strip($2),1,W).data
      .hsave badwords badwords.data
      secho $strip($2) 11veritabanindan başarıyla silindi
    }
    else { secho $strip($2) 7veritabaninda bulunamadı }
  }
  elseif ($1 == list) {
    if !$hget(badwords,0).data { secho Liste boş.. }
    else {
      secho Badwords list..
      secho -
      var %b = 1 | while %b <= $hget(badwords,0).data { secho $+(%b,-4,$chr(41),) $hget(badwords,%b).data | inc %b }
      secho -
      secho Badwords list sonu..
    }
  }
  else { secho 11hatalı işlem }
}
alias secho {
  $iif(!$window(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]S),.window -ne @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]S)
  echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]S $+($chr(40),$time,$chr(41),$chr(32),$1-)
}
on *:start: {
  if !$hget(badwords) { hmake badwords 1000 }
  if !$isfile(badwords.data) { hsave badwords badwords.data }
  hload badwords badwords.data
}


High 16 Şubat 2021 16:43

Cevap: Pencere ve Willcard sorunu
 
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] çok sağ ol bro vaktin varsa sorun neydi? onu da söyleye bilir misin? öğrenmek adına KOD'la lakalı bi sorundu sanırım dimi? şimdi ben kelime eklerken boşluk bırakarak ekleyebilir miyim? yoksa boşluk yerine ? kullanmalıyım eklerken sorun yaşamamak için soruyorum bilirsem tekrar meşgul etmem sizleri.

Toprak 16 Şubat 2021 16:51

Cevap: Pencere ve Willcard sorunu
 
Alıntı:

High Nickli Üyeden Alıntı (Mesaj 1042442847)
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] çok sağ ol bro vaktin varsa sorun neydi? onu da söyleye bilir misin? öğrenmek adına KOD'la lakalı bi sorundu sanırım dimi? şimdi ben kelime eklerken boşluk bırakarak ekleyebilir miyim? yoksa boşluk yerine ? kullanmalıyım eklerken sorun yaşamamak için soruyorum bilirsem tekrar meşgul etmem sizleri.


Ekler iken boşluk kullanamazsın kullansan da ilk kelimeyi algılar(/badwords ekle Selam deneme) burada "Selam" kelimesini algılar, sen hepsini eklemesini istersen eğer badwords aliasındaki $2 değerini $2- olarak değiştirmen gerekiyor.
Ayrıca TEXT eventinde ki sorunda $hmatch kullanman, hali ile wilcard karakterlerle de eşleşiyor..

High 21 Şubat 2021 00:22

Cevap: Pencere ve Willcard sorunu
 
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] kusura bakma seni de rahatsız ediyorum. Müsait olduğun da muaf kanal ekleyebilir miyiz? bir de kanalda voicesi ve yetkisi olanları muaf tutabilir miyiz?

--IRCForumlari.NET ; Flood Engellendi -->-> Yeni yazılan mesaj 22:17 -->-> Daha önceki mesaj 22:16 --

Yetkiler zaten etkilenmiyordu. Pardon ya sadece muaf kanal ekleyebilir miyiz?

--IRCForumlari.NET ; Flood Engellendi -->-> Yeni yazılan mesaj 23:22 -->-> Daha önceki mesaj 22:17 --

Ben şu şekilde ayarlamaya çalıştım ama hata ile karşılaştım;
Kod:

if (!$istok(#kanal1 #kanal2 #kanal3,$chan,32) && !$istok(Nick1 Nick2 Nick3,$chan,32)) {
birde *üüüüü* şeklinde kelime eklemeye çalıştığım da hata işlem diyor.
Yardımcı olabilecek var mı?

Toprak 21 Şubat 2021 00:26

Cevap: Pencere ve Willcard sorunu
 
TEXT eventi altına bunu ekleyebilirsin;
Kod:

if $istok(#Kanal #Kanal1 #Kanal2,#,32) || $istok(Nick Nick1 Nick2 Nick3,$nick,32) { return }
Eklemeye çalıştığında verdiği hata ne muhtemelen Türkçe karakter kullandığın için $regex($2,/[A-Za-z]/Si) kısmı görmüyor onun içinde $regex($2,/[a-zğüişçöĞÜİŞÇÖ]/Si) olarak düzelt.

High 21 Şubat 2021 02:48

Cevap: Pencere ve Willcard sorunu
 
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] eline sağlık boşluk vererek ekleye biliyorum. *Selam nasılsın* gibi daha önce ? işareti kullanıyordum space yerine çok sağ ol. Müsait olduğun da bir de aynı kelimeleri eklemesek? uyarsa bizi harika olacak. Kusura bakma zahmet veriyorum kendim yapamadım

--IRCForumlari.NET ; Flood Engellendi -->-> Yeni yazılan mesaj 00:58 -->-> Daha önceki mesaj 00:26 --

@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] boşluk şeklinde eklemiyor. *Selam nasılsın* şeklinde eklemek istediğim de sadece baştakini Selamı ekliyor.
Kod:

if ($1 == ekle) && $regex($2-,/^[[:alnum:][:punct:][:space:]üÜşŞçÇğĞıİöÖ]+$/i) {
Şeklinde değişmedim yine olmadı müsait olduğun da bi bakar mısın? bir de şu aynı mask kelimeleri mümkünse eklemesin, uyarsın beni. Yardımların için sağ ol

--IRCForumlari.NET ; Flood Engellendi -->-> Yeni yazılan mesaj 01:48 -->-> Daha önceki mesaj 00:58 --

Space olayını çözdüm boşlukla vererek ekleye biliyorum. Zaten yukarıda yazmışsın da ben bir yeri atlamışım tek ihticayım olan aynı maskı eklememesi

Toprak 21 Şubat 2021 10:43

Cevap: Pencere ve Willcard sorunu
 
Ekle kısmın altına bunu ekle tamamdır.

Kod:

if $hfind(badwords,$strip($2-),1,W).data { secho Bu mask ekli uyuşan mask: $hget(badwords,$hfind(badwords,$strip($2-),1,W).data) | return }

High 21 Şubat 2021 12:11

Cevap: Pencere ve Willcard sorunu
 
Eyvallah çok sağ ol @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]


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

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