Tekil Mesaj gösterimi
Alt 27 Ağustos 2015, 21:12   #14
Çevrimdışı
Regex
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (3)
IF Ticaret Yüzdesi:(%)
Cevap: kontrol edip op ekletme hk.




Toprak Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Regex buyur;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:notice:*:?:{ if !$regex($nick,/^ChanServ$/i) return if $regex($1-,/(kanal[ıiİ]\skayitl[ıiİ]\sde[gğĞ][ıiİ]l|erisim\slistesi.+kayitli.+nick|erisim\sseviyesi.+ve.+arasinda|nick.+kanalindaki\serisim.+zaten|nick.+kanalindaki\serisim\sseviyesi.+degisti|nick.+kanalinin\serisim.+seviyeden.+eklendi)/Si) { msg %kanal $1- | .disable #opekle } }

|| kullanmaya gerek yok regex'de (veri|veri) olarak kullanabiliriz
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Bilgi amaçlı.

Ayrıca kodda her koşulu düşünerek ayarladım.

Access eklemede kanal ismi doğru girilmezse uyar.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if !$regex($2,/^#.+/) { msg # Lütfen kanal belirtiniz. | return }

Access eklenen nick doğru yazılmadı ise uyar.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if !$regex($3,/^([a-zA-ZĞğıİöÖüÜşŞçÇ_^\133\135}{][a-zA-ZĞğıİöÖüÜşŞçÇ0-9_|^}\{\133\135`-]{0,30})$/i) { msg # Lütfen nick belirtiniz. | return }

Yetki seviyesi sayıdan oluşmuyorsa uyar..
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if !$regex($4,\d) { msg # Lütfen Yetki seviyesini giriniz. | return }

Gibi bütün koşullar düşünerek yazmıştım..

Ben seni anladım, ama sen bu kodu yazdığında zaten raw üzerinden @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] istenilen kodu yazmıştı; onun yazdığını görmeden on NOTICE üzerinden de ben yazmıştım. Bunun üzerine sen $regex kullanarak daha işlevsel ve hızlı çalışan bir kod yazmayı amaçladın diye düşündüm, zaten @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] de mantığı anladı ve sorun çözüldü; dolayısıyla biraz kod jimnastiği yapalım istedim. Ortada hâlâ sorununun çözülmesini isteyen birisi olsaydı yaptığım yanlış olabilirdi ya da senin koduna laf atsaydım, ama dediğim gibi amacım hazır aynı işi yapan 3 farklı kod yazılmışken biraz daha işi nasıl ileri götürebilirizi tartışmaktı. Kaldı ki @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] da hızlı ve işlevsel kod yazmak için güzelce maddeler saymış, benimle aynı doğrultuda düşündüğünü sanıyorum, kendisine de bir kez daha teşekkür ediyorum.

Yani amaç sidik yarıştırmak veya gövde gösterisi yapmak değildi, ben zaten 6 yıl mIRC Scripting'den uzak kaldım, web ile uğraştım. En ufak ayrıntıları bile yeni döndüğüm için kaçırmam doğaldır ki gerçekten amacım koduna saygısızlık etmek değildi. Kurduğun if koşullarının tümünde { msg ile bilgi gönder | grubu disable et } yer aldığından hepsini tek bir if koşulunda da toplayabilirizi göstermeye çalışmıştım, bunu farklı anladıysan kusura bakma. Böyle şeyler bana göre değil.

Ayrıca o zaman @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]'ın uyarılarını da göz önünde bulundurarak event içerisinde $regex'i kurabiliriz, yani daha kısa olarak || ayracını kullanmadığımız gibi if koşulu da kurmayabiliriz, özetle şöyle de olabilirdi:

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on $*:text:/^(!opekle)/iS:#:{ if (!$regex($2,/^#)) { msg # Lütfen kanal belirtiniz. | return } if (!$regex($3,/^([a-zA-ZĞğıİöÖüÜşŞçÇ_^\133\135}{][a-zA-ZĞğıİöÖüÜşŞçÇ0-9_|^}\{\133\135`-]{0,30})$/i)) { msg # Lütfen nick belirtiniz. | return } if (!$regex($4,\d)) { msg # Lütfen Yetki seviyesini giriniz. | return } else { .enable #opekle | set %kanal # | cs access $2 add $3- } } #opekle off on $*:notice:/kanal[ıiİ]\skayitl[ıiİ]\sde[gğĞ][ıiİ]l|erisim\slistesi.+kayitli.+nick|erisim\sseviyesi.+ve.+arasinda|nick.+kanalindaki\serisim.+zaten|nick.+kanalindaki\serisim\sseviyesi.+degisti|nick.+kanalinin\serisim.+seviyeden.+eklendi/iS:*:{ if (!$regex($nick,/^ChanServ$/i)) return msg %kanal $1- .disable #opekle } #opekle end

Not: Olumsuz koşullardaki uyarı kısmının mantığı güzel olmuş ama sanırım atlamışsın, on TEXT eventında benim kodumda da var senin yazdığın koddaki satırlar. Kodu kısaltmak adına onlara dokunmadım, yukarıda yine var.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet sohbet