; Sunucudan gelen tüm ham notice (snotice) mesajlarını yakalar
on *:NOTICE:*:*:{
; Sadece sunucudan gelen bildirimleri filtrele (Kullanıcı mesajlarını eler)
if ($nick == $server) || ($nick == *.net) || ($nick == *.org) || ($nick == *.com) {
; GİRİŞ TAKİBİ: "is now an IRC Operator" mesajını yakalar
if (*is now an IRC Operator* iswm $1-) {
if ($regex($1-,/(\S+)\s+\(.+\)\s+is now an IRC Operator/i)) {
var %n = $regml(1)
set %u5_oper. [ $+ [ %n ] ] $ctime
.optakip_yaz 03[OPER GİRİŞ] %n şu anda sunucu yetkisini (OPER/ADMIN) aktif etti. Tarih: $asd($ctime)
}
}
; ÇIKIŞ TAKİBİ: "Client exiting" mesajını yakalar
if (*Client exiting:* iswm $1-) {
if ($regex($1-,/Client exiting:\s+(\S+)/i)) {
var %n = $regml(1)
if (%u5_oper. [ $+ [ %n ] ]) {
var %sure = $sure_cevir($calc($ctime - %u5_oper. [ $+ [ %n ] ]))
.optakip_yaz 04[OPER ÇIKIŞ] %n Sunucudan ayrıldı (Quit). Aktif Süresi: %sure - Tarih: $asd($ctime)
unset %u5_oper. [ $+ [ %n ] ]
}
}
}
}
}
; Alternatif Deoper Takibi (Sunucudan çıkmadan /deoper olursa)
on *:rawmode:#:{
if ($1 == -o) {
var %n = $2
if (%u5_oper. [ $+ [ %n ] ]) {
var %sure = $sure_cevir($calc($ctime - %u5_oper. [ $+ [ %n ] ]))
.optakip_yaz 04[OPER DEOPER] %n Yetkisini elinden aldı veya deoper oldu. Aktif Süresi: %sure - Tarih: $asd($ctime)
unset %u5_oper. [ $+ [ %n ] ]
}
}
}
; --- YARDIMCI FONKSİYONLAR ---
alias -l optakip_yaz {
if (!$window(@OperTakip)) { window -e @OperTakip }
echo -t @OperTakip $1-
}
alias -l asd {
return $günbul($asctime($1,dddd)) - $asctime($1,dd/mm/yyyy - HH:nn:ss)
}
alias -l günbul {
if ($1 == Monday) { return Pazartesi }
if ($1 == Tuesday) { return Salı }
if ($1 == Wednesday) { return Çarşamba }
if ($1 == Thursday) { return Perşembe }
if ($1 == Friday) { return Cuma }
if ($1 == Saturday) { return Cumartesi }
if ($1 == Sunday) { return Pazar }
return $1
}
alias -l sure_cevir {
var %s = $1
var %h = $floor($calc(%s / 3600))
var %m = $floor($calc(($calc(%s % 3600)) / 60))
var %sec = $calc(%s % 60)
var %res = ""
if (%h > 0) { var %res = %res %h saat }
if (%m > 0) { var %res = %res %m dakika }
if (%sec > 0) { var %res = %res %sec saniye }
return %res
}