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 Join/Part Event Kullanımı (https://www.ircrehberi.net/mirc-events-olaylar/56569-join-part-event-kullanimi.html)

Mylife 06 Şubat 2021 12:28

On Join/Part Event Kullanımı
 
Konu: on <level>:JOIN:<#[,#]>:<commands>



Merhaba, bu dersimiz de size anlatmak istediğimiz eventlerimiz, kanala giriş çıkışlar da tetiklenen ve işlem yapmamıza olanak tanıyan join & part eventleridir.

* Join eventi, herhangi bir nick kanala girdiğin de tetiklenir.

* Benim de gördüğüm bir yanlış algıyı burada bahsedelim, join eventi kanala giriş çıkışlar da o kanalın voice, operator, soperator gibi prefix sahipleri üzerin de direk olarak bir tarama yapmaz. Bu eventin olayı burada biraz saniye bazın da düşünmeniz gerekiyor kişi nick ile kanala girdiği an bu event devreye girer. Bir nick kanala girdiğin de bir kaç saniye gecikme ile prefix aldığı için join eventi bunu görmez. Tabiki bunun farklı yaptırım şekilleri vardır yani join eventi ile bir sorgu oluşturulup giren kişinin kanal da prefix sahibi mi yoksa değil mi anlamak imkansız değildir.

Örnek;

- Kanalım da giren her kişiye hoşgeldin mesajı yazdırmak istiyorum?

Kod:

on 1:join:#Kanaladı:/msg # hoşgeldin $nick
=> Kanaladı kısmına bir kanal belirtirsek o kanal için işlem yapacaktır ve hiç bir koşul olmadığı için her girene istisnasız hoşgeldin olarak tepki vericektir. Kanal kısmı '' # '' bu şekilde belirsiz olursa bütün kanallar için bunu algılayıp buna göre davranıcaktır.

- Kanalıma giren kişi Mylife ise hoşgeldin desin, Sim ise +v versin, ikisinden birisi değilse hiç birşey yapmasın?

Kod:

on 1:join:#Sohbet: { if ($nick == Mylife) { msg # oo Mylife hoşgeldin! } | elseif ($nick ==  Sim) { mode # +v Sim } | else { return } }
=> Burada kanal olarak Sohbet belirledik hazırlamış olduğumuz bu küçük kod, sadece bu kanal için harekete gececektir.

- Şimdi bir çok kişinin yapmış olduğu ve kodun hatalı olmasını düşündürdüğü bir örnek vereceğim join eventi ile kanala giren kişinin prefix sahibi olup olmadığını sorgulatabilir miyiz?

Kod:

alias :kontrol {
  if ($1 isreg $2) {
    echo -a deneme başarılı. Kanala giren: $1 Kanal: $2
  }
}
on 1:join:#sohbet: { timer 1 2 .:kontrol $nick $chan }

Kanal giriş çıkış görünüm;

*** Çıkış: H-Bot (Hazinem@Bot.Hazinem.NET)
(12:06:20) * Giriş: H-Bot (Hazinem@Bot.Hazinem.NET)
(12:06:20) * ChanServ mod değiştirdi:+h H-Bot

* Prefix sahibi olduğu için herhangi bir uyarı vermedi.

*** Çıkış: Afrodit (Hazinem@70759FA.155F2A1.39C3E616.IP)
(12:06:33) <S4S> Merhaba Afrodit GÜLE GÜLE Tekrar bekleriz kanalımıza
(12:06:35) *** Afrodit (Hazinem@70759FA.155F2A1.39C3E616.IP (Belirlenemedi)) has joined #Sohbet
deneme başarılı. Kanala giren: Afrodit Kanal: #Sohbet

* Burada prefix sahibi olmayan bir kullanıcı giriş yaptığın da hazırladığımız kod tetiklendi ve istediğimizi yaptı.

Sadece küçük bir örnek olması için böyle bir yol izleyebilirsiniz tabiki bunun bir çok yolları var. Biraz sizin tarzınızla alakalı bir durum bu farklı denemeler ile daha güzel işler çıkartabilirsiniz.

On Part eventi, join eventi nin tam aksine kişi kanaldan çıkış yaptığı an tetiklenir.

Örnek;

Kod:

On 1:part:#:/msg $nick Kanalımıza tekrar bekleriz...
=> Burada bir kanal belirtmediğimiz için bütün kanallar için harekete geçicektir. Herhangi bir kanaldan birisi çıkarsa ona kanalımıza tekrar bekleriz olarak özel mesaj atıcaktır. Bu gibi durumlar için de '' privmsg '' kullanmanızı öneririm.

Kod:

On 1:part:#:/privmsg $nick Kanalımıza tekrar bekleriz...
=> Deneme yaptığınız zaman ikisi arasındaki farkı anlayacaksınız.

Join/Part event kullanımını da bu şekilde çok rahat bir şekilde yapabilirsiniz. İyi forumlar dilerim.

1903 06 Şubat 2021 12:34

Emeğinize Sağlık

Mylife 07 Şubat 2021 16:34

Alıntı:

1903 Nickli Üyeden Alıntı (Mesaj 344256)
Emeğinize Sağlık

Teşekkür ederim. Umarım faydalı olur.

LaviNia 07 Şubat 2021 16:35

Emeğinize sağlık

She 07 Şubat 2021 16:41

Emeğinize sağlık, paylaşım için teşekkür ederiz..

PeLin 07 Şubat 2021 16:47

Emeğinize saglik paylaşım için teşekkür

Mylife 07 Şubat 2021 18:58

Alıntı:

LaviNia Nickli Üyeden Alıntı (Mesaj 346347)
Emeğinize sağlık

Alıntı:

She Nickli Üyeden Alıntı (Mesaj 346358)
Emeğinize sağlık, paylaşım için teşekkür ederiz..

Alıntı:

Gamzeli Nickli Üyeden Alıntı (Mesaj 346374)
Emeğinize saglik paylaşım için teşekkür

Teşekkür ederim hepinize.

WildCat 07 Şubat 2021 19:06

emeginize saglik


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

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

Copyright ©2019 - 2025 | IRCRehberi.Net