Cevap: eggdrop invite / davet sorgusu
amaç davet edildiği kanalı ::targetchan "global namespace variable" denilen değişken ile ,hafızada tutması sağlanıyor ki ; bu durumda botu restart yada kill edip yeniden başlatılmadığı sürece bu bilgiyi tutması sağlanıyor.
bu sayede onay yada red kararı verecek bot sahibi, davet geldiği anda botun attığı notice uyarısını göremese dahi ,daha sonradan isterse bir gün yada günler sonra görüp onay yada red komutunu uyguyabilme olanağı olabiliyor.
bind'leri proc içinde alıp dediğiniz şekilde prosedür çalıştığında devreye girmelerini sağlamak !trigger/komutla karar verilmesi gereken bunun gibi bir durumda , hiçbirşeyi fark ettirmez. ister dışarıya koyun ister içe yerleştirin ,sonuç yine !komuta bakar.
ancak misal işletilen prosedürün başka bir prosedürü otomatik olarak tetiklenmesi beklenirse o dediğiniz şekilde yapmak ,bindleri oraya yerleştirmeye bir anlam kazandırır.
örneğin who çektirmek için bir prosedür vardır ,o prosedür içine who'dan dönecek cevabı almak için diğer prosedürü işletmeniz gerekecektir bu durumda o cevabı alacak prosedürü tetikleyecek bind'i içeride tutmanız gerekebilir.
böylesi bir durumda o bind'i prosedür içinde tutmanızın bir amacı/işlevi olur.şimdi sizin yukarda önerdiğiniz gibi prosedür içine almakla dışında olması arasında uygulamada bir "fark" yaratacak durum olamayacaktır.
unset ile bind raw ile yakalanacak invite bilgisi işi bitince sıfırlanıp,hafızadan temizlenir. ,::targetchan global değişkeninde saklıyken alttaki !komutla çağırılan prosedürlerde info exists ile kontrol ediliyor ki eğer böyle bir bilgi/veri hafızada var ise ... gereken yapılıyor. zaten yok ise prosedür sonunda return 0 ile o komutlar etkisiz oluyor.
yani davet olmadan,saklanan bir davet edilmiş kanal bilgisi olamayacağından, o komutlardan herhangi birini kullandığınızda hiçbir tepki alamazsınız.var ise istenen görevi yapar.
ha kod her beklentiyi karşılar mı? değil tabi geliştirilmeye üstünde oynanmaya açıktır tabi ki...eggdrop Tcl kodları açık kaynaktır. isteyen,dileyen kendi ihtiyaçları,fikirleri doğrultusunda gördüğü kodu alıp geliştirebilir ekleme çıkarma,düzenleme yapabilir. hiçbir sıkıntı yoktur.
(emeği geçen başka biri varsa kodda ,sıfırdan kendiniz yazmamışsanız emeği geçen/leri onore etmek ,kod içinde onun imzasına/adına yer vermek,bir teşekkür vs adettendir. sadece ..)
mesala ne eklenebilir bana göre owner yoksa,bağlı değilse eggdrop'un notes modülünden faydalanarak bir memo/note eklenebilir. ki böylece bot sahibi sunucuda yoksa geldiğinde not/memo olarak kendisine iletilebilir. yada memoserv'de kullanılabilir bu iş için .. vs vs ..
yapılabilecekler ,kendi ihtiyaçlarınız ve hayal gücünüzle sınırlı.. biri istedi yaptım verdim o hayatından memnun,istediğini,beklediğini aldı... bende başka birileri daha kullanmak isteyebilir diye alıp buraya koydum ,bu noktada benim bununla (en azından şimdilik, ileride olurda canım çeker hadi şuna biraz daha fazla özellik ekleyip geliştireyim diye bir şevk gelmediği sürece..) işim bitmiştir...
Konu saywhat tarafından (20 Eylül 2014 Saat 21:30 ) değiştirilmiştir.
|