| | Umarım işinize yarar | İçeriği Görebilmeniz için Üye olmalı / Giriş Yapmalısınız..! | | Alıntı: Te5ir Nickli Üyeden Alıntı
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. |