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 Parça Kodlar (https://www.ircforumlari.net/mirc-parca-kodlar/)
-   -   Kanal koruma ( text ) 1. Uyarı sonra ban.. (https://www.ircforumlari.net/mirc-parca-kodlar/762537-kanal-koruma-text-1-uyari-sonra-ban.html)

Mylife 15 Kasım 2016 15:00

Kanal koruma ( text ) 1. Uyarı sonra ban..
 
Kod:

on @*:text:*:#: {
  set %:Mylife $1-
  set %:Kod $nick
  if (!$hget(argo)) { hmake -s argo 300 }
  if $regex($1-,/Mylife|kelime|kelime|kelime|kelime|kelime|kelime$/Si) && (!$hmatch(argo,%:Kod)) {
    hadd -s argo %:Kod 1
    msg # %:Kod yasaklı kelime kullandınız. ( uyarı )
  }
  else if ($hmatch(argo,%:Kod)) {
    mode # +b %:Kod
    kick # %:Kod yasaklı kelime kullandınız.
    hdel -s argo %:Kod
  }
  unset %:Mylife
  unset %:Kod
}

  • Kanalda @(OP) konumunda olmalısınız.
  • regex ile belirlenen kelime leri doldurmanız yeterlidir.
  • Belirlenen kelime ler kanalda yazıldığında ilk yazılmasında uyarı verir, 2. yazılmasında ban atar.
  • İşlem gerçekleştikden sonra kişiye ait kaydı siler.

Che 19 Kasım 2016 13:24

Cevap: Kanal koruma ( text ) 1. Uyarı sonra ban..
 
Faydalı.

yaramazadam 25 Ağustos 2019 23:50

Cevap: Kanal koruma ( text ) 1. Uyarı sonra ban..
 
Alıntı:

Mylife Nickli Üyeden Alıntı (Mesaj 1041819727)
Kod:

on @*:text:*:#: {
  set %:Mylife $1-
  set %:Kod $nick
  if (!$hget(argo)) { hmake -s argo 300 }
  if $regex($1-,/Mylife|kelime|kelime|kelime|kelime|kelime|kelime$/Si) && (!$hmatch(argo,%:Kod)) {
    hadd -s argo %:Kod 1
    msg # %:Kod yasaklı kelime kullandınız. ( uyarı )
  }
  else if ($hmatch(argo,%:Kod)) {
    mode # +b %:Kod
    kick # %:Kod yasaklı kelime kullandınız.
    hdel -s argo %:Kod
  }
  unset %:Mylife
  unset %:Kod
}

  • Kanalda @(OP) konumunda olmalısınız.
  • regex ile belirlenen kelime leri doldurmanız yeterlidir.
  • Belirlenen kelime ler kanalda yazıldığında ilk yazılmasında uyarı verir, 2. yazılmasında ban atar.
  • İşlem gerçekleştikden sonra kişiye ait kaydı siler.


merhaba 1 uyarı tamam calisiyor. ama uyari alan nick normal konusmaya devam ettiginde yani o yasakli kelimelerden kullanmadiginda otomatik atiliyor.. kod eksik yada hatali mi acaba ?

YouMyCure 26 Ağustos 2019 15:49

Cevap: Kanal koruma ( text ) 1. Uyarı sonra ban..
 
Alıntı:

Mylife Nickli Üyeden Alıntı (Mesaj 1041819727)
Kod:

on @*:text:*:#: {
  set %:Mylife $1-
  set %:Kod $nick
  if (!$hget(argo)) { hmake -s argo 300 }
  if $regex($1-,/Mylife|kelime|kelime|kelime|kelime|kelime|kelime$/Si) && (!$hmatch(argo,%:Kod)) {
    hadd -s argo %:Kod 1
    msg # %:Kod yasaklı kelime kullandınız. ( uyarı )
  }
  else if ($hmatch(argo,%:Kod)) {
    mode # +b %:Kod
    kick # %:Kod yasaklı kelime kullandınız.
    hdel -s argo %:Kod
  }
  unset %:Mylife
  unset %:Kod
}

  • Kanalda @(OP) konumunda olmalısınız.
  • regex ile belirlenen kelime leri doldurmanız yeterlidir.
  • Belirlenen kelime ler kanalda yazıldığında ilk yazılmasında uyarı verir, 2. yazılmasında ban atar.
  • İşlem gerçekleştikden sonra kişiye ait kaydı siler.

Kod:

  set %:Mylife $1-
  set %:Kod $nick

bunlar neden anlamış değilim :) , başarılar

Alper 26 Ağustos 2019 16:06

Cevap: Kanal koruma ( text ) 1. Uyarı sonra ban..
 
Kod:

Else if ($hmatch(argo,%:Kod)) {
Bu kısımdan kaynaklı sorun ilk seferde kaydediyor sonra kayıtlı olan kişi ne yazarsa yazsin atılıyor. Yani ek koşul yok üst kısımdaki gibi

Mylife 31 Ağustos 2019 18:38

Cevap: Kanal koruma ( text ) 1. Uyarı sonra ban..
 
Alıntı:

YouMyCure Nickli Üyeden Alıntı (Mesaj 1042141755)
Kod:

  set %:Mylife $1-
  set %:Kod $nick

bunlar neden anlamış değilim :) , başarılar

valla hangi kafayla yazdım onu bilmiyorum 2016 yılında yazmışım. Muhtemelen hazırlarken kullanıcamı planlamışımdır ama kodun gidişatına göre kullanmamışımdır :)

Alıntı:

Alper Nickli Üyeden Alıntı (Mesaj 1042141777)
Kod:

Else if ($hmatch(argo,%:Kod)) {
Bu kısımdan kaynaklı sorun ilk seferde kaydediyor sonra kayıtlı olan kişi ne yazarsa yazsin atılıyor. Yani ek koşul yok üst kısımdaki gibi

Evet @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] haklısın gözden kacmış o bazı kodlarda değişim yapıltıktan sonra deneme şansım olmuyor

Alıntı:

yaramazadam Nickli Üyeden Alıntı (Mesaj 1042141395)
merhaba 1 uyarı tamam calisiyor. ama uyari alan nick normal konusmaya devam ettiginde yani o yasakli kelimelerden kullanmadiginda otomatik atiliyor.. kod eksik yada hatali mi acaba ?



Kod:

on @*:text:*:#: {
  set %:Mylife $1-
  set %:Kod $nick
  if (!$hget(argo)) { hmake -s argo 300 }
  if $regex($1-,/Mylife|kelime|kelime|kelime|kelime|kelime|kelime$/Si) && (!$hmatch(argo,%:Kod)) {
    hadd -s argo %:Kod 1
    msg # %:Kod yasaklı kelime kullandınız. ( uyarı )
  }
  elseif $regex($1-,/Mylife|kelime|kelime|kelime|kelime|kelime|kelime$/Si) && ($hmatch(argo,%:Kod)) {
    mode # +b %:Kod
    kick # %:Kod yasaklı kelime kullandınız.
    hdel -s argo %:Kod
  }
  unset %:Mylife
  unset %:Kod
}

=> olarak düzelttim. Bu kod ile regex çok uzun sürüp gidebilir. Alternatif olarak regex kullanmak yerine text dosyası icine küfürleri yazıp $read ile karşılaştırma yapabilirsiniz, hash tablosu ile uyumlu olur mu şuan bilmiyorum denemek lazım. O dönem bu tur calışmalar yoktu hiç karşılaşmıyordum ama şimdi karşılaşıyorum artık herşey biraz daha kolay farklı yollar kullanabilirsiniz. İyi forumlar dilerim.

Feragat 02 Eylül 2019 22:05

Cevap: Kanal koruma ( text ) 1. Uyarı sonra ban..
 
Bu kodu uzun zaman önce yapmışsın ama neden daha güzel olmasın.
Belki çoğu bildiğin şeyler ama konuyu okuyan arkadaşlar için fikir vermesi adına..

- hash table da -s anahtarı, kullanılan komutu ekranda göstermeye yarıyor
mirc.chm dosyasında şöyle söylemiş: The -s switch makes the command display the result.

- unset %değişken %değişken
şeklinde kullanırsan seni 2 unset komutundan kurtarır.

- regex filtrelerinde meta karakter (regex tarafından anlam ifade eden karakterler) olgusuna da dikkat etmek gerek. ". [] ? * " vb. bunları düz metin olarak algılatmak için başlarına \ slash koymak gerekmektedir. Bunu otomatik yapması için bir alias yapabilirsin güzel olur.

- Son olarak şu "else if" neden hatalı olduğu için bi kaç sene önce bir açıklama yapmıştım. Göz atmak isteyen olursa da link burada: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Kod, geri dönüşler geldikçe gelişir ve daha kararlı hale gelir. Emeğine sağlık Kolay gelsin dostum.


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

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