• Forumzar.COM Türkçe içerikli genel forum sitesi ve paylaşım platformu olarak eğlenceli ve interaktif bir forum deneyim sunar.

    Foruma üye olmak için BURAYA TIKLAYINIZ

mIRC Scripting / Time ve Date İdentifier(s)

Arjun

Forum Üyesii
Katılım
25 Ara 2022
Mesajlar
18
Puanları
1
Tarih: 23.01.2025

Konu: Time ve Date identifiers




Merhaba sevgili IRCforumları kullanıcıları ve mirc scripting severler. Sizlere bugün anlatmak istediğim forumumuzda geniş bir anlatımı olmayan time ( zaman/süre ) ve date ( tarih vb. ) identifier kullanımlarından bahsedeceğim.

$ctime => Bu identifier sistem zamanına göre 1 ocak 1970, 00:00:00 GMT'den bu yana geçen toplam saniye sayısını döndürür.

Bu kayıtlıdır ve istediğimiz zaman bu bilgiye istediğimiz tarih ve saate göre ulaşabiliriz. Aşağıda bazı örnekler vererek anlatacağım.

örnek;

Kod:

//echo -a $ctime => 1737618929 olarak dönecektir.

Yukarıda bahsettiğim gibi bu echo komutunu kullandığımız an bize tam o zamanın toplam saniye sayısını verir.

$asctime => Bu identifier belirlenen zaman için varsayılan formatı döndürür.

kısacası bunu şöyle açıklayabilirim; $ctime ile elde edilen bilginin ne olduğunu onaylatmak için kullanılabilir olayı daha iyi anlamanız için örneklendireceğim.


Kod:

//echo -a $asctime =>Thu Jan 23 10:59:50 2025

bize bu şekilde dönecektir. Burada gün saat ve yıl olarak bilginin içerdiğini farketmişsinizdir.

Şimdi yukarıda öğrendiğimiz $ctime identifier ile elde ettiğimiz verinin hangi tarihe ait olduğuna bir bakalım.

Örnek;

Kod:

//echo -a $asctime(1737618929,dd/mm/yy) => 23/01/25

olarak dönecektir bize.

Devam edelim...

1970 den itibaren herhangi bir geçen zaman için bu zamanın hangi değerlere sahip olduğunu $ctime ile öğrenebiliriz.

Örnek;

Kod:

//echo -a $ctime(21/4/72 1:30:37) => 72657037

burada bize bu değeri vericektir. 4. Ayın 21 inde ve yıl 72 saat 1:30 daki tam geçen süreyi elde ederiz. Bunu şu şekilde görebiliriz.

Kod:

//echo -a $asctime(72657037,dd/mm/yy / hh:nn:ss) => 21/04/72 / 01:30:37

olarak dönecektir bizlere tam tarih ve saat bilgisini alabiliyoruz.

$ctimer => Bu identifier bizlere tetiklenen timer çalışmasının adını verir.

$date => Geçerli tarihi gün/ay/yıl formatında döndürür. ABD formatında tarihi almak için $adate kullanılabilir.

Örnek;

Kod:

//echo -a $date =>23/01/2025

olarak bize dönecektir. ( gün ay yıl )

Örnek2;

Kod:

//echo -a $adate => 01/23/2025

olarak bize dönecektir ( ay gün yıl )

Aralarındaki fark aylar ve günlerin yer değiştirmesinden ibarettir.

$day => Bu identifier geçerli günün adını döndürür. ( pazartesi, salı, çarşamba vb. )

Örnek;

Kod:

//echo -a $day => Thursday

olarak dönecektir.

Burada ingilizce vericektir bilgileri ama diyorsanız ben ingilizceden anlamam illede türkçe olsun güzelim türkçemizin neyi var kardeşim. Bunun içinde aşağıya ufak bir yardımcı yol sunacağım örnek olması için.

Örnek;

Kod:

alias _gnler return $replace($1-,Monday,pazartesi,Tuesday,salı,Wednesday,çarşamba,Thursday,perşembe,Friday,cuma,Saturday,cumartesi,Sunday,pazar)

Kod:

//echo -a $_gnler($day) => perşembe

olarak dönecektir.

Örnek2;

Kod:

//echo -a $replace($day,Monday,pazartesi,Tuesday,salı,Wednesday,çarşamba,Thursday,perşembe,Friday,cuma,Saturday,cumartesi,Sunday,pazar) => Perşembe

dönecektir.

$daylight => Bu identifier yaz saati uygulaması yürürlükteyse saniye cinsinden offset değerini döndürür, değilse 0 döndürür.

$duration(seconds,N) => Bu identifier belirtilen saniye sayısını hafta/gün/saat/dakika/saniye formatında döndürür.

N parametresi isteğe bağlıdır. Eğer N = 2 ise, sonuç saniye değerini içermez. Eğer N = 3 ise, sonuç hh:nn:ss formatında olur.

Örnek;

Kod:

//echo -a $ctime => 1737621342

elde ettik.

Kod:

//echo -a $asctime(1737621342) => Thu Jan 23 11:35:42 2025

elde ettik.

Kod:

//echo -a $duration(1737621342,1) => 2873 hafta 8 sat 35 dakika 42 saniye

elde ederiz. Burada alınan bilgi ile en ilk başta geçen zaman diliminin kıyaslanmasıdır. İdentifier içerisinde N değerini 2 veya 3 olarak değiştirirseniz formatıda değişicektir.

$timezone => Bu identfier geçerli saat dilimi ayarını saniye cinsinden döndürür.

Örnek;

Kod:

//echo -a $timezone => -10800

olarak dönecektir.

$fulldate => Bu identifier geçerli tarihi Çar Haz 26 21:41:02 1996 formatında döndürür.

Örnek;

Kod:

//echo -a $fulldate => Thu Jan 23 11:48:02 2025

olarak dönecektir.


$idle => Bu identifier geçerli boşta kalma süresini döndürür pek kullanıldığını görmedim ama çok kullanışlı bir identifier. (ctcp finger tarafından döndürülen süre ile aynıdır).

$ltimer => Bu identifier timer komutu tarafından başlatılan son zamanlayıcının kimliğini döndürür.

Örnek;

Kod:

/timerali 1 40 /msg #deneme deneme yapıyorum.

Kod:

//echo -a $ltimer => ali

olarak dönecektir.

$time => Bu identifier geçerli zamanı saat, dakika, saniye formatında döndürür.

Örnek;

Kod:

/echo -a $time => 12:04:55

olarak dönecektir.

$timer(N/name) => Bu identifier zamanlayıcı listesindeki N zamanlayıcısının kimliğini döndürür. N değeri içerisinde sayı veya timer adı yazabilme olanağı tanır ve timer ile birlikte çalışır.

Properties: com, time, reps, delay, type, secs, mmt, anysc, wid, cid, hwnd, pause, name

$timer(0) => aktif zamanlayıcıların sayısını döndürür
$timer(1) => 1. zamanlayıcının kimliğini döndürür
$timer(1).com => 1. zamanlayıcının komutunu döndürür
$timer(3).type =>3. zamanlayıcının çevrimiçi/çevrimdışı durumunu döndürür
$timer(3).secs => zamanlayıcının tetiklenmesine kalan saniye sayısını döndürür
$timer(3).mmt => zamanlayıcı bir multimedya zamanlayıcısı ise $true döndürür
$timer(3).anysc => /timer -i anahtarı belirtilmişse $true döndürür

Not: name özelliği, belirtilen parametreyi bir zamanlayıcı adı olarak kabul eder (eğer ad bir sayı ise) ve zamanlayıcı N pozisyonunu döndürür.

Şimdi aklımda olan timer ve $ltimer identifier kullanarak yapabileceğiniz şeyler için bir örnekte bulunacağım. Sunucu içerisinde yeni gelişmekte olan sunucuların en büyük problemleri sohbet ortamının yeterince oluşamamasıdır. Bunun için sunucu sahiplerine sağlanan bazı konuşma botları mevcut ama bunların diyalogları pek mantıklı sohbetler olmuyor benim gözlemlediğim kadarıyla diyalogları kendinizin ayarlayabileceği güzel bir sohbet oluşturma imkanınız sağlanabilir aslında $timer ve $ltimer kullanarak basit bir örnekle ifade edeceğim.

Örnek;

Kod:

Kod:
alias _aktf {
  if ($timer(0) < 1) { 
    timerali 1 5 msg #deneme selam 
  } 
  if $regex($ltimer,/a[LI][iİ]/xiS) { 
    timerali2 1 10 msg #deneme selam ali nasılsın?
  }
  if $regex($ltimer,/a[LI][iİ]2/xiS) {

    timerali3 1 15 msg #deneme iyiyim teşekkür ederim. sen nasılsın?
  }
  if $regex($ltimer,/a[LI][iİ]3/xiS) {
    timerali4 1 20 msg #deneme bende iyiyim teşekkür ederim.
  }
}

Kullanım;

/_aktf

Görünüm;

* Zaman ali aktif edildi
-
* Zaman ali2 aktif edildi
-
* Zaman ali3 aktif edildi
-
* Zaman ali4 aktif edildi

Text;

[13:01:44] <Mylife> selam ( ilk timer )
[13:01:49] <Mylife> selam ali nasılsın? ( 2. timer )
[13:01:54] <Mylife> iyiyim teşekkür ederim. sen nasılsın? ( 3. timer )
[13:01:59] <Mylife> bende iyiyim teşekkür ederim. ( 4. timer )


Bir çok identifier olduğundan dolayı her birisi üzerinde durma imkanım yoktu o yüzden bazılarının örneklendirmeler yaparak anlatmaya çalıştım. Aynı yöntemi kullanarak deneme yanılma yöntemi ile olayı daha iyi kavrayacağınızı düşünüyorum.

Time ve date eğitim konusunu bu şekilde bitireceğim. Umarım faydalı olmuştur. İyi forumlar dilerim.

Kaynak: mIRC ana klasör / mirc.html
 

Genel Forum Sitesi

Forum Sitesi - Forumzar.COM

Forumzar.COM olarak, Türkçe forum sitesi denildiğinde akla gelen ilk adres olarak, geniş kapsamlı genel forum platformumuzda buluşuyoruz. Türkiye'nin en büyük Türkçe forum siteleri arasında yer almanın gururunu yaşıyoruz. Çeşitli konu başlıklarında aktif bir şekilde paylaşımların yapıldığı, her konuda interaktif ve bilgilendirici tartışmalara katılmak için bizi takip edin! ve bir dakikanızı ayırarak forum sitemize üye olun!

Forum Siteleri

Bilgi paylaştıkça çoğalır sloganı ile ilerleyen forum sitesi platformumuza, siz de üye olarak forum sitemizde açılan konulara katılabilir ve ilgi alanınıza uygun konular açarak siz de paylaşımda bulunabilirsiniz.