Rehber En iyi ve en basit küfür filtresi | SKRIPT (RegEx)

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Anemys

Java & Skript
Emektar
MinePass
Premium
Katılım
5 Mayıs 2018
Mesajlar
944
Çözümler
1
Elmaslar
367
Puan
14.855
Konum
Antalya
Discord İzni
Minecraft
Unutursun

Discord:

_thread

info.png


Merhaba MC-TR üyeleri, sizlere RegEx kullanarak basit ve iyi bir küfür filtresi yapımını anlatacağım.
Forum kuralları gereği olabildiğince dikkatli olmaya çalışacağım bu yüzden anlaşılması biraz zor olabilir :)

Nedir bu RegEx?
Regex; yani bir diğer adıyla Regular Expression, “Düzenli İfade” anlamına gelen, yazılımcılar için son derece yararlı olan, yazılımcılara zaman kazandıran, metinler içerisinde tekrar eden yapıları tespit etmeye yönelik kullanılan arama yapısıdır.
(Kaynak: [URL]https://coderspace.io[/URL])

1. Method (İçerik)
(?i)\b[aA4@][mM][kK]\b|\b[aA4@][mM]\W*[kK]\b|\b[aA4@]\W*[mM]\W*[kK]\b
İlk başta karmaşık gelen bu harflerin bir anlamının olduğunu biliyor musunuz?

Örnek anlatım:
İlk harf A, a, 4 veya @, ikinci harf M veya m, üçüncü harf ise K veya k harfleri olabilir.
|\b[aA4@]\W*[mM]\W*[kK]\b Her harf arasında herhangi bir sayıda harf olmayan karakter olabilir
yani küfür etmeyi sanat edinmiş insanları kısmen engelleyecektir.

Ufak örnekler:
[AZ] = bütün alfabe (Büyük)
[az] = bütün alfabe (Küçük)
(?:ABC) = Kelimenin tamamı (Yani sadece A, B VE C)

Bu tür filtreleri üretebilecek bir RegEx oluşturucu: https://www.regextranslator.com/

Skript'e kullanımı: (Burada başka bir küfür kullanıldı)
f2.png

Kod:
load:
    delete {filtre::*}
    add "(?i)f[\W_]*[uvo0a*]+[\W_]*[cq(*]+" to {filtre::*}

chat:
    loop {filtre::*}:
        message matches loop-value:
            #KOD

2. Method (Harfler)

Bu yöntem; ilk yönteme göre çok daha basit ve kullanışlıdır.

[aA4@x]+[@mMWXx]+[kKxszXc]
Belki bir kaçınız burada ne olduğunu çoktan anladı. Bu filtreleme, önceki yöntem gibi harfin
hangi değerleri taşıyacağını belirler fakat kullanımı daha basittir.
Mesela a harfi yerine 4 veya @ yazdığımızda bunu algılamasını sağlayabiliriz.


Örnek görselli anlatım:
12341.png


Yani burada yaptığımız şey 3 harften oluşan bir kelimenin hangi harflerden oluşabileceğini belirlemek.

Mesela Ali kelimesi şöyle yazılabilir; @li, 4li, al1

RegEx: [aA4@]+[lL]+[iİIı1]
Artık ben @li,
4li, al1 yazsam bile bunu algılayacaktır.

Skript'e kullanımı:
qw312431.png



Kod:
load:
    delete {filter::*}
    add [aA4@]+[lL]+[iİIı1] to {filter::*}

chat:
    loop {filter::*}:
        message matches loop-value:
            cancel event
            send "&cBu isim sunucuda yasaklandı! Neden olduğunu sorma banlarım seni!"

Kod:
on chat:
    if message partially matches "\d":
        send "Bu mesajda sayılar var d-d-dostum!"
    if message doesn't match "[A-Za-z]+":
        send "Bu mesaj sadece harflerden oluşmuyor! (Sayılar ve semboller)"



Umarım bu rehber hoşunuza gitmiştir <3


void.png
 
Son düzenleme:
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst