Renkli yazı tipi – Kanal ve Özelde
Bu konu ile ilgili yapılmış bazı çalışmalar var fakat yapılan snippet(parça) kodları incelediğimde, while döngüleri veya alias’lar falan kullanıldığını gördüm. Hatta hatalı regex tanımı uygulandığına da şahit oldum. Döngü ve alias kullanmadan neler yapılabilir diye düşünürken bir snippet oluşturdum.
Özellikleri:
Cümle, (/ ! .) bu 3 karakterden biriyle başlamıyorsa çalışır.
– Yazdığınız aktif ekran eğer bir #Kanal ise, cümle içinde geçen Nick(Kanalda bulunması şartıyla) renklendirir. Ayrıca Punct(!”#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~) karakterlerini de tek tek ve ayrı ayrı renklendirir.
– Yazdığınız aktif ekran query(Özel) penceresi ise, yukarıda anlatılan tanımdaki gibi aynı özelliklerle çalışır.
– Cümlenin ilk harfini büyük yapar ve noktadan sonra yada nokta ve boşuktan sonra yazıldığında ilk harfi yine büyük yapar.
Not: Kodu çalıştırdığınız/yüklediğiniz remote sayfasında farklı input event’ları varsa problem yaşarsınız. Mümkünse boş bir remote sayfasında kullanın. Bu tarz kodlar %100 sağlıklı çalışır diyemem ama görüntü ve eğlence açısında kullanılabilir.
1 2 3 4 5 6 |
on *:input:*: { if $regex($left($1-,1),/[^.!/]/S) { if $window($active).type == channel { msg $active $regsubex($regsubex($regsubex($1-,/(\S+)/Sg,$iif(\1 ison #,$+(,,$r(2,6),\1,),\1)),/([[:punct:]])/g,$+(,$r(2,6),\1,)),/(^.|[0-9[:cntrl:]]\x2E\xF\s?.)/g,$upper(\1)) | halt } if $window($active).type == query { msg $active $regsubex($regsubex($regsubex($1-,/(\S+)/Sg,$iif(\1 == $active,$+(,$r(2,6),\1,),\1)),/([[:punct:]])/g,$+(,$r(2,6),\1,)),/(^.|[0-9[:cntrl:]]\x2E\xF\s?.)/g,$upper(\1)) | halt } } } |