IRCRehberi.Net- Türkiyenin En iyi IRC ve Genel Forum Sitesi

IRCRehberi.Net- Türkiyenin En iyi IRC ve Genel Forum Sitesi (https://www.ircrehberi.net/)
-   mIRC Events (Olaylar) (https://www.ircrehberi.net/mirc-events-olaylar/)
-   -   On Text Event Kullanımı (https://www.ircrehberi.net/mirc-events-olaylar/56350-text-event-kullanimi.html)

Mylife 04 Şubat 2021 21:52

On Text Event Kullanımı
 
Konu: on <level>:TEXT:<matchtext>:<*><?><#[,#]>:<commands>


* Merhaba, text eventi mirc scripting içerisin de kullanımı en yaygın event lerin başın da gelir ve bu yüzden, sizlere elimden geldiğince anlatmaya çalışıcam.

- On text eventi özel veya kanal da aldığınız mesajlar üzerine tetiklenen bir mirc script eventidir. Bu mesajlar sizin yazdığınız mesajları içermez. Kendi mesajlarınız için farklı bir ders konusun da ilgili eventin konusunu anlatacağım.

- Başlangıc olarak bu event de kullanabiliceğimiz '' joker '' karakterlerden bahsetmek istiyorum sizlere konu içeriği aslında bunu anlatmak olacak ve bir çoğunuzun zaten bu eventi bildiğinizi düşünüyorum ama yeni başlamış yada kendisi birşeyler yapmak istiyenler için faydalı olacağını düşünüyorum.

Aşağıda belirtilen joker karakterler event içerisin de kullanılabilir;

'' * '' => Herhangi bir metinle eşleşir.
'' & '' => Herhangi bir kelime ile eşleşir.
'' text '' => Metin sadece belirtilen kelime ile eşleşiyorsa tetiklenir.
'' text* '' => Metin sadece belirtilen kelime ile başlıyorsa eşleşiyorsa tetiklenir.
'' *text '' => Metin sadece belirtilen kelime ile bitiyorsa tetiklenir.
'' *text* '' => Metin sadece belirtilen kelime içinde geçiyorsa tetiklenir.

* Bu başın da sonunda ve geçiyorsa size tanıdık gelicektir. IRCd/services in çok eğlenceli olan wildcard konusundan anımsayacaksınız.

- Text eventini kullandığımız sırada tam olarak hedefi belirtmek için kullanmamız gereken karakterleri aşağıda size belirteceğim. Mesela, matchtext ( eşleştirme metni ) belirtilirken yukarı da belirttiğim joker karakterleri kullanarak bir eşleştirme metni oluşturalım yani Mylife yazınca tetiklensin ve istediğimiz işlemi yapsın.

Text eventi kullanımın da özel veya kanal belirleme işlemi şu şekilde oluşturulur;

'' ? '' => Herhangi bir özel mesaj için.
'' # '' => Herhangi bir kanal mesajı için.
'' #Mylife '' => Mylife kanalında olan bütün mesajlar için.
'' * '' => Özel veya kanal her iki durum da tetiklenmesi için.

Örnekler;

Kod:

on 1:text:Mylife:#:/msg # Merhaba buyrun benim?
* Burada eğer birisi herhangi bir kanal da Mylife yazarsa o kanala merhaba buyrun benim? mesajı atmasını söyledik. Bu şekilde hazırlanan küçük bir kodda eşleşme için '' Mylife '' yazılması gerekir eğer tam olarak kelime Mylife değilse işlem yapmayacaktır.

- Mylife ile biten cümleler de, bahsettiğin şu mylife mı yazsın istiyelim...

Kod:

on 1:text:*Mylife:#:/msg # Bahsettiğin şu mylife mı???
* İki örnek de var olan farklılığı anlamış olmanız gerekiyor birisi sade düz olarak yazılmış diğeri ise başında bir joker karakter olan '' * '' kullanılmış.

Mylife => Tam mylife ile eşleşir.
*Mylife => Mylife ile bitiyorsa eşleşir.
Mylife* => Mylife ile başlıyorsa eşleşir.
*Mylife* => Bir kelime için de Mylife geçiyorsa eşleşir.

* Text eventinde eğer kanal belirtilmezse bütün kanallar da işlem yapıcaktır.

- Özelime birisi Mylife yazarsa evet buyrun nasıl yardımcı olabilirim olarak yanıt versin?

Kod:

on 1:text:Mylife:?:/privmsg $nick evet buyrun, nasıl yardımcı olabilirim?
* Tetiklenmesini istediğimiz şekli sadece Mylife ise bu şekilde yapmamız yeterli olacaktır. Mylife kelimesi için de geçiyorsa işlem yap *Mylife* olarak matchtext i belirlememiz gerekiyor.

* Peki özel veya kanal olarak bir eşleştirme yapılmasını istediğimiz de kanal kısmına '' * '' koymanız yeterli olacaktır.

Kod:

on 1:text:matchtext:*:/işlem
Bu şekilde yapmak istediğinizi yapabiliceksiniz. İyi forumlar dilerim.




Sim 04 Şubat 2021 21:57

emegine saglik @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] paylasim icin tesekkürler

WildCat 04 Şubat 2021 22:01

emeginize saglik

oMeN 05 Şubat 2021 12:09

Emeğine sağlık @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Elyanura 05 Şubat 2021 12:42

Emeğine sağlık

1903 05 Şubat 2021 12:44

Emeğine Sağlık

LaviNia 05 Şubat 2021 12:57

Emeğinize sağlık

Kyo 09 Mayıs 2022 11:21

Merhaba @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] , Emeğine Sağlık. Mümkünse Text eventi kullanırken, iç içe if kullanımına bir örnek verir misin?

Mylife 28 Mayıs 2022 14:21

Alıntı:

CeLeborn Nickli Üyeden Alıntı (Mesaj 858417)
Merhaba @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] , Emeğine Sağlık. Mümkünse Text eventi kullanırken, iç içe if kullanımına bir örnek verir misin?

Merhaba @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ,

İç içeden kastınız yan yana bir kullanım mı yoksa if then else kullanımı kastettiniz anlamadım ama bir kaç bilgilendirme bırakıcam.

Text eventi içerisin de sorgu oluşturma;

Kod:

on *:text:*:*: { if $regex($1,/[\.!]sor$/Si) { msg # $nick, 1 ile 1 in toplamı kaçtır? } | elseif $regex($1,/[\.!]cevap$/Si) { msg # $nick, 1 ile 1 in toplamı 5 dir. } | else { return } }
Burada basit anlaşılması için örneklendirdim... bu sorgu oluşturma olayını text eventi içerisin de değil bütün kodlama eventlerin de kullanabilirsiniz. Buradaki mantık çok basittir aslında...

Açıklaması;

Herhangi birisi .sor yazdığında belirtilen soruyu kanala yansıtır. Burada if ( EĞER ) kanala .sor yazıldıysa bu soruyu sor dedik.

Daha sonra kanala sor yazılmak yerine .cevap yazılmışsa elseif ( eğer ilk sorgu değilse ) kullandık belirtilen cevabı kanala yansıt dedik ve son olarak da else ( sorguların hiç biri değilse ) return yani başa dön.

Burada tavsiye olarak şunu belirtebilirim mircscripting kodlaması yaparken görüyorum bir çok kod yazılımları sadece if kullanarak yapılıyor kendinizi bu şekilde alıştırmayın if - elseif - else kullanımlarını düzenli olarak yaparsanız hem kodlama yolu olarak daha akıcı şekilde yapabilecek aynı zaman da daha sağlıklı olacaktır.

Umarım açıklayıcı olmuştur. İyi forumlar.

Kyo 06 Haziran 2022 20:04

Alıntı:

Mylife Nickli Üyeden Alıntı (Mesaj 878878)
Merhaba @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ,

İç içeden kastınız yan yana bir kullanım mı yoksa if then else kullanımı kastettiniz anlamadım ama bir kaç bilgilendirme bırakıcam.

Text eventi içerisin de sorgu oluşturma;

Kod:

on *:text:*:*: { if $regex($1,/[\.!]sor$/Si) { msg # $nick, 1 ile 1 in toplamı kaçtır? } | elseif $regex($1,/[\.!]cevap$/Si) { msg # $nick, 1 ile 1 in toplamı 5 dir. } | else { return } }
Burada basit anlaşılması için örneklendirdim... bu sorgu oluşturma olayını text eventi içerisin de değil bütün kodlama eventlerin de kullanabilirsiniz. Buradaki mantık çok basittir aslında...

Açıklaması;

Herhangi birisi .sor yazdığında belirtilen soruyu kanala yansıtır. Burada if ( EĞER ) kanala .sor yazıldıysa bu soruyu sor dedik.

Daha sonra kanala sor yazılmak yerine .cevap yazılmışsa elseif ( eğer ilk sorgu değilse ) kullandık belirtilen cevabı kanala yansıt dedik ve son olarak da else ( sorguların hiç biri değilse ) return yani başa dön.

Burada tavsiye olarak şunu belirtebilirim mircscripting kodlaması yaparken görüyorum bir çok kod yazılımları sadece if kullanarak yapılıyor kendinizi bu şekilde alıştırmayın if - elseif - else kullanımlarını düzenli olarak yaparsanız hem kodlama yolu olarak daha akıcı şekilde yapabilecek aynı zaman da daha sağlıklı olacaktır.

Umarım açıklayıcı olmuştur. İyi forumlar.

Emeğine sağlık, açıklama için cok tesekkür ederim.


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

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

Copyright ©2019 - 2023 | IRCRehberi