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...