Timer kelime olarak Zamanlayıcı anlamına gelir. Irc'de kullandığımız komutları zamanlı kullanmamızı sağlar. Bu nedenle tek başına bir işlevi yoktur ve mutlaka bir komutla birleştirilerek kullanılmalıdır.
Kullanım Alanı : Timer komutu ile bir komutun ne zaman kaç kez kaç saniye aralıklarla çalışacağını ayarlayabiliriz. İçerisinde zaman ifadeleri geçen sorular genelde timerle alakalıdır.
Örnek : Rast nickine 10 saniyede bir 5 kez whois çekmek istiyorum.
Çözüm : /timer 5 10 whois Rast
Gördüğümüz gibi uygulayacağımız komutun başına timer ekliyoruz. Timerden sonra gelen 5 whois komutunu kaç kez uygulayacağımızı daha sonra gelen 10 ise kaç saniyede bir uygulayacağımızı gösterir.
Not : Timerle uygulayacağımız komutun sürekli çalışmasını istiyorsak , tekrar kısmına 0 yazmalıyız. /timer 0 saniye
Örnek : Ayşe nickinin 2 dk da bir infosuna bakmak istiyorum.
Çözüm : /timer 0 120 nickserv info Ayşe
Ayşe nickinin infosuna bakmak için /nickserv info Ayşe komutunu kullanıyorduk. Kaç kez olacağı ile ilgili bir sınır olmadığı için 0 kullandık, buradaki 0 komutun sürekli çalışmasını sağladı ve 2 dk =120 saniye yaptık, çünkü timer komutlarında süre saniye cinsinden olmak zorunda.
Genel Kullanımı : /timer tekrar sayısı zaman aralığı
Timer komutunu daha kullanışlı hale getiren parametrelerden bahsedelim. Bunlar : h , m , i , o, p , r , c, e dır. Şimdi bunların ne işe yaradıklarından bahsedelim.
h ve m parametreleri : Timerde zaman birimi olarak saniye kullandığımızı söylemiştik. Eğer bu zaman birimini milisaniye olarak kullanmak istersek bu parametreleri kullanacağız.
Kullanımı : /timer -h tekrar sayısı zaman aralığı
h parametresinin yerine, m de kullanılabilir. İkisinin işlevi de aynıdır.
Örnek : iRONiCQ nickine 10 milisaniye aralıklarla toplamda 7 kez, "Merhaba" şeklinde mesaj göndermek istiyorum.
Çözüm : /timer -h 7 10 msg iRONiCQ Merhaba
/timer -m 7 10 msg iRONiCQ Merhaba
Her iki komutta kullanılabilir.
i parametresi : Eklediğimiz timerin girdiğimiz bütün sunucularda aktif olması için bu parametreyi kullanırız.
Kullanımı : /timer -i tekrar sayısı zaman aralığı
Örnek : Bulunduğum bütün sunucularda, 30 saniye sonra #help kanalını ajoin listeme almak istiyorum.
Çözüm : /timer -i 1 30 nickserv ajoin add #help
o parametresi : Başlattığımız timer, sunucuya bağlı isek, bağlantıyı kestiğimizde sona erer. o parametresi ile bağlantımız kesilip tekrar bağlansak bile timerin devam etmesini sağlarız.
Kullanımı : /timer -o tekrar sayısı zaman aralığı
Örnek : Rast nickine her 45 saniyede bir notice olarak, "Burada mısın?" yazmak istiyorum ve bağlantım kesilip geri gelsem de bu uygulama devam etsin.
Çözüm : /timer -o 0 45 notice Rast Burada mısın?
p parametresi : Aktif olan timeri bu parametreyle geçici olarak durdurabiliriz.
Kullanımı : /timeradı -p
Örnek : 3 numaralı timer'imi durdurmak istiyorum.
Çözüm : /timer3 -p
r parametresi : p parametresi ile geçici olarak durdurduğumuz zamanlayıcıları r parametresi ile tekrar aktif edebiliriz.
Kullanımı : /timeradı -r
Örnek : Daha önce durdurduğum timerA zamanlayıcısını tekrar çalıştırmak istiyorum.
Çözüm : /timerA -r
e parametresi : Bu parametre ile kurduğumuz timerin zaman aralığını beklemeden hemen çalışmasını sağlayabiliriz.
Kullanımı : /timeradı -e
c parametresi : Client zamanı ile timer zamanı arasında fark var ise (lagdan kaynaklanabilir) bu parametre ile zamanlayıcımızın ortalama bir zaman aralığında çalışmasını sağlayabiliriz.
Kullanımı : /timer -c tekrar sayısı zaman aralığı
d parametresi : Bu parametre ile çalıştırdığınız timerleri çalıştırdığınız sıraya göre aktif eder.
Kullanımı : /timer -d tekrar sayısı zaman aralığı
Timer parametreleri ile ilgili bilmemiz gerekenler bu kadar. Şimdi timer konusuyla ilgili diğer bilgilere bakalım.
Timer Adı : Eklediğimiz timerlerimize isim vererek de ekleyebiliriz. Timer1, Timer2, Timerdeneme, TimerMinstrel, TimerA gibi. İsimlendirmeden timer olarak yazdığımız zamanlayıcılar timer 1,timer 2,... şeklinde numaralandırılır.
Örnek : Cristal nickine 3 kez, 5 saniyede bir ping atmak istiyorum. Kuracağım zamanlayıcının adı Cris olsun.
Çözüm : /timerCris 3 5 ping Cristal
Timerleri Listeleme : Aktif zamanlayıcılarımızı /timers komutuyla listeleyebiliriz. /timeradı komutuyla da tek tek zamanlayıcılarımızı görebiliriz.
Örnek : x adını verdiğim timeri görmek istiyorum.
Çözüm : /timerx
Yukarıdaki komutu uyguladığımda statüs'üme, * Aktif zamanlıyıcılar: Zaman x 1 Zaman(s) 20s gecikme /msg Minstrel Merhaba (sunucuadı) şeklinde mesaj gelecektir. Bu mesajı yorumlarsak;
Zaman x 1 : Tekrar sayısı =1
Zaman(s) : Zaman aralığı saniye cinsinden
20s gecikme : Zaman aralığı 20 saniye
/msg Minstrel Merhaba : Zamanlayıcı ile çalışmasını istediğim komut , (sunucuadı) : Zamanlayıcıyı kurduğum sunucu.
O halde benim x timerini kurmak için uyguladığım komut
/timerx 1 20 msg Minstrel Merhaba dır.
Not : Timer komutunda joker karakterler (?,*) kullanılabilir.
Örnek : 10,11,12,13,14,15,16,17,18,19 adındaki zamanlayıcılarımı listelemek istiyorum.
Çözüm : /timer1?
10,11,12,13,...19 hepsinin ilk rakamı 1 olduğu için ikinci hane yerine ? kullanarak cevabı bu şekilde tek komutla verebiliyoruz.
Timerleri Kapatma : Aktif zamanlayıcılarımızı /timers off komutuyla tamamını, /timeradı off komutuyla tek tek kapatabiliriz.
Örnek : 3 numaralı zamanlayıcımı kapatmak istiyorum.
Çözüm : /timer3 off
Timer için Başlangıç Saati Belirleme : Kuracağımız zamanlayıcıya bir başlangıç saati belirleyebiliriz. Bunun için /timer komutundan hemen sonra, parametre varsa parametreden hemen sonra, zamanlayıcımızın çalışmaya başlamasını istediğimiz saati eklememiz yeterli olacaktır.
Örnek : Saat 14:00 dan sonra 30 saniyede bir , toplamda 2 kez; özelimdeki kullanıcılara "Selam" yazmak istiyorum.
Çözüm : /timer 14:00 2 30 qme Selam
Örnek : Saat 19.00 dan sonra, 45 saniyede bir , ignore listemi görmek istiyorum, sunucudan bağlantım kesilip tekrar gelsem de bu işlem devam etsin.
Çözüm : /timer -o 19:00 0 45 ignore -l
Komut sürekli uygulanacağı için (yani tekrar sayısı belirtilmediği için) tekrar sayısı=0 aldık. Sunucudan kopup geldiğimizde de zamanlayıcının aktif olması için ise o parametresini kullandık.
Ek Bilgi : Timer komutlarında identifierler kullanılabilir. Son kullandığım zamanlayıcıyı görmek için , $ltimer +tab uygulayabiliriz. Benzer şekilde belirtilen sıradaki zamanlayıcının adını $timer(sıra) +tab uygulayarak görebiliriz. (ltimer=last timer)
-----------------------------