Tekil Mesaj gösterimi
Alt 27 Aralık 2010, 12:51   #2
Çevrimdışı
Difuzyon
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Bot veya Komut Yardimi?




Aşağıdaki kodu #DJ kanalında (ve aynı zamanda #DJ_Sohbet #Radyohelp kanallarında da) yetkisi* olan bir mirc bota (kendi nickinizin olduğu mirce değil!) eklemelisiniz.

yetkisi*: ACC-LIST ve ACC-CHANGE düzeyinde olmalıdır.

Ardından NefeS nicki #DJ kanalı genelinde !tanit yazdığı takdirde,kod harekete geçecektir.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on $*:text:/[!]tan(i|ı)t$/ASi:#dj:if $nick NefeS { set -eu6 %dify users | cs access $chan list } on *:notice:*:*:{ if $nick == Chanserv && %dify && $2 isnum { set -e %difyDJ $addtok(%difyDJ,$3,32) $iif(!$timer(senkron),.timersenkron 1 5 ns info $token(%difyDJ,1,32)) } elseif $nick == Nickserv && %difyDJ { if $regex($1-,/Son\sgorulen\szaman\x3A\s(\w+)\s(\d+)\s\S+\s(\d+)/iS) { var %NefeS $calc($ctime($date) -345600) if %NefeS > $ctime($+($regml(2),/,$replace($regml(1),Oca,01,Sub,02,Mar,03,Nis,04,May,05,Haz,06,Tem,07,Agu,08,Eyl,09,Ekm,10,Ksm,11,Ara,12),/,$regml(3))) { cs access #Dj del $token(%difyDJ,1,32) cs access #Dj_Sohbet del $token(%difyDJ,1,32) cs access #Radyohelp del $token(%difyDJ,1,32) ms send NefeS [BILGI] $token(%difyDJ,1,32) nicki 4 gündür online olmadığı için #Dj #Dj_Sohbet ve #RadyoHelp kanallarıyla ilişiği kesilmiştir. } } if $regex($1-,/(Kayit zamani|özel bir nick)/iS) && %difyDJ { set %difyDJ $deltok(%difyDJ,1,32) if %difyDJ == $null { unset %difyDJ | halt } else { ns info $token(%difyDJ,1,32) } } } }

Kod içerisindeki işlemler:
1) #DJ kanalı access listesini 1 %variables'te bütünleştirir.
2) %variables'teki 1.nicke /ns info nick komutunu uygular.
3) Nickserv info satırında:
-NickServ- Son gorulen zaman: Ara 26 22:15:49 2010 EET [0 gün, 13 saat, 39 dakika ve 24 saniye önce]
Son gorulen zaman ifadesinden sonraki Ara 26 2010 tarih değerini alıp,bunu $ctime değerine dönüştürür.
Eğer sunucunuzdaki bilgiler farklı kelimelerden ve dizayndan oluşuyorsa bunu konuya örneklerle belirtmeniz halinde yardımcı olacağım.
4) 1 günün $ctime değeri 86400 saniyedir. 4 günün $ctime değeri (4*86400) yaklaşık 345600 saniyeye denk gelmektedir.
Buda demek oluyor ki 345600 sayısını kendinize göre değişebilirsiniz,4 gün değilde 3 gün yada 7 gün vb...
5) Nickserv satırındaki Son gorulen zamanın $ctime değeri güncel $date yani bugünün,4gün öncesine ait $ctime değerinden çıkarılır,eğer değer belirtilen gün değerinden küçükse "bu durumda nick 4 günden fazla online olmamış demektir" belirtilen kanallardan yetkileri silinir ve bilgilendirme memo'su NefeS nickine gönderilir.
6) 2. sıradaki nicke geçiş için
-NickServ- Kayit zamani:........
veya
-NickServ- Difuzyon özel bir nicktir.
satırlarının bulunması gerekiyor.Özel nick konumunda bulunananlar tarih taramasından muaftırlar.Çünkü nick INFO bilgileri gizlendiğinden,verilere ulaşamıyoruz.


Bunu anlatmamın sebebi benzer konularda size fikir oluşturabilmesi adınadır.Örneğin: Kanalıma nick kaydı 3 günden az olan nickler girdiği takdirde uzaklaştırılsın?
Türünden sorunlarınıza yanıtlar için yararlanabileceğiniz işlemler bu kodda mevcuttur.

Hoşca paylaşımlar dilerim...

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet reklamver