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
}



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

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