Tekil Mesaj gösterimi
Alt 11 Ağustos 2026, 02:46   #2
Kyo
✓
Kayıtlı Üye
Kyo - ait Kullanıcı Resmi (Avatar)

Standart Umarım işinize yarar

Alıntı:
Te5ir Nickli Üyeden Alıntı Mesajı göster
Merhaba arkadaşlar sunucudaki Oper/Admin takip kodu gerekiyor yardımcı olurmusunuz.

Pazartesi, salı vs vs vs tarih,saat,süre vs vs gibi şimdiden tsk ederim

Gelişmiş Oper/Admin Takip ve Raporlama Sistemi


Kod

; --- AYARLAR ---
; Raporun yansıtılacağı Admin/Yönetim kanalını buraya yazın:
alias -l admin_kanali { return #Yönetim }

; --- GİRİŞ TAKİBİ ---
on *:RAWMODE:#: {
  if ($1 == +o) || ($1 == +O) {
    if ($2 == $me) { return }
    ; Giriş zamanını saniye cinsinden hafızaya kaydet
    set %oper.giris. [ $+ [ $2 ] ] $ctime
    
    var %gun = $replace($time(dddd),Monday,Pazartesi,Tuesday,Salı,Wednesday,Çarşamba,Thursday,Perşembe,Friday,Cuma,Saturday,Cumartesi,Sunday,Pazar)
    
    ; Log formatı (Renk kodları dosya içinde gizlenir, play edilirken renkli görünür)
    write oper_takip.txt  03[GİRİŞ]   06Tarih:  $date  06Saat:  $time  14(%gun)  ->  04 1[ $2 ]  aktif oldu.
  }
}

; --- ÇIKIŞ TAKİBİ (QUIT) ---
on *:QUIT: {
  if (%oper.giris. [ $+ [ $nick ] ]) {
    var %sure_saniye = $calc($ctime - %oper.giris. [ $+ [ $nick ] ])
    var %aktif_sure = $duration(%sure_saniye)
    var %gun = $replace($time(dddd),Monday,Pazartesi,Tuesday,Salı,Wednesday,Çarşamba,Thursday,Perşembe,Friday,Cuma,Saturday,Cumartesi,Sunday,Pazar)
    
    ; Süre terimlerini Türkçeleştirme
    var %sure_tr = $replace(%aktif_sure,wk,Hafta,wks,Hafta,day,Gün,days,Gün,hr,Saat,hrs,Saat,min,Dakika,mins,Dakika,sec,Saniye,secs,Saniye)
    
    write oper_takip.txt  04[ÇIKIŞ]   06Tarih:  $date  06Saat:  $time  14(%gun)  ->  04 1[ $nick ]  ayrıldı.  12[Süre: %sure_tr ] 
    write oper_takip.txt  14--------------------------------------------------------------------------------------------------- 
    unset %oper.giris. [ $+ [ $nick ] ]
  }
}

; --- YETKİ ALINMA / BIRAKMA DURUMU ---
on *:RAWMODE:#: {
  if ($1 == -o) || ($1 == -O) {
    if (%oper.giris. [ $+ [ $2 ] ]) {
      var %sure_saniye = $calc($ctime - %oper.giris. [ $+ [ $2 ] ])
      var %aktif_sure = $duration(%sure_saniye)
      var %gun = $replace($time(dddd),Monday,Pazartesi,Tuesday,Salı,Wednesday,Çarşamba,Thursday,Perşembe,Friday,Cuma,Saturday,Cumartesi,Sunday,Pazar)
      var %sure_tr = $replace(%aktif_sure,wk,Hafta,wks,Hafta,day,Gün,days,Gün,hr,Saat,hrs,Saat,min,Dakika,mins,Dakika,sec,Saniye,secs,Saniye)
      
      write oper_takip.txt  07[DEAKTİF]   06Tarih:  $date  06Saat:  $time  14(%gun)  ->  04 1[ $2 ]  yetki bıraktı.  12[Süre: %sure_tr ] 
      write oper_takip.txt  14--------------------------------------------------------------------------------------------------- 
      unset %oper.giris. [ $+ [ $2 ] ]
    }
  }
}

; --- RAPORU KANALA YANSITMA KOMUTLARI ---
; mIRC penceresine /goster, /listele veya /rapor yazıldığında çalışır
alias goster { rapor_yansit }
alias listele { rapor_yansit }
alias rapor { rapor_yansit }

alias -l rapor_yansit {
  var %chan = $admin_kanali
  if (!$chanserv) && (!$me on %chan) {
    echo -a ❌ Hata: Raporun yansıtılacağı %chan kanalında bulunmuyorsunuz veya bağlı değilsiniz.
    return
  }
  if ($exists(oper_takip.txt)) {
    msg %chan 📋  11,1Oper/Admin Aktiflik Raporu Kanala Aktarılıyor... 
    msg %chan  14--------------------------------------------------------------------------------------------------- 
    ; Dosya içeriğini kanala renkli olarak gönderir (Hız: 800ms satır arası)
    play %chan oper_takip.txt 800
    
    ; Play işlemi bittikten 3 saniye sonra silme onay kutusunu açar
    .timer.onay 1 3 rapor_silme_onayi
  }
  else {
    echo -a ❌ Kaydedilmiş herhangi bir aktiflik raporu bulunamadı.
  }
}

; --- ARŞİVİ SİLME ONAY PENCERESİ ---
alias -l rapor_silme_onayi {
  var %soru = $input(Rapor başarıyla kanala yansıtıldı. Kayıtlı tüm verileri silip arşivi temizlemek istiyor musunuz?, ync, Rapor Arşivi Temizleme)
  if (%soru == $true) {
    .remove oper_takip.txt
    msg $admin_kanali 🗑️  04Rapor arşivi yönetici komutuyla tamamen temizlendi. 
    echo -a ➔  Oper takip arşivi başarıyla silindi.
  }
  else {
    echo -a ➔  Kayıtlar silinmedi, arşivde tutulmaya devam ediyor.
  }
}
Sistemdeki Yenilikler ve Görsel Özellikler:Gelişmiş Renklendirme:
Raporlamada [GİRİŞ] ibaresi Yeşil, [ÇIKIŞ] ibaresi Kırmızı,
Tarih ve Saat kısımları Mor, Gün isimleri Gri,
Admin nickleri ise Koyu Kırmızı ve Kalın renkte yazılır.
Türkçe Süre Desteği:
mIRC'in orijinal İngilizce çıktıları
(2hrs 10mins) otomatik olarak süzülerek kanala 2 Saat 10 Dakika şeklinde Türkçe yansıtılır.
Esnek Komut Yapısı:
Kanala raporu göndermek için status ekranına veya kanallara
/listele, /goster ya da /rapor komutlarından herhangi birini yazmanız yeterlidir.
Kanala Güvenli Yansıtma (Flood Koruması):
Verileri kanala birden yığıp sunucudan düşmemeniz (Max SendQ) için satırlar kanala 800
milisaniye arayla kayarak yansıtılır.
Akıllı Onay Kutusu:
Raporlama kanalda tamamen bittiği an mIRC ekranınızda bir Soru Kutusu açılır.
Evet derseniz dosyayı siler ve kanala "Arşiv temizlendi" bilgisi geçer.
Hayır derseniz verileri saklamaya devam eder.