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


💬 Bu Alana Reklam Ver ! 🎉 Hemen Katıl!
4Beğeni(ler)
  • 2 Gönderen Mylife
  • 1 Gönderen Mylife
  • 1 Gönderen WildCat


 
Seçenekler Stil
Alt 06 Şubat 2021, 12:28   #1
i don't care if i'm misfit.
Mylife - ait Kullanıcı Resmi (Avatar)

Arrow 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.
👍 2
________________


Stay strong, trust your instincts.
Set your spirit free, never forget your spiritual side.
Even in the midst of hardships,
there is always a light to guide your way.
 
 


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı





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