koruma.mrc
– Tüm sistem tek dosyada
/load -rs koruma.mrc
ile aktif edilir
Otomatik:
Kanal koruma
Ban/kick takibi
Zamanlı koruma
Ülke engeli
Süreli ban
Webhook loglama
Ayar paneli (dialog GUI)
Kanal bazlı konfigürasyon
.ini dosyasına kayıt/okuma
İstatistik
; — Değişkenler —
var %istat.ban = 0
var %istat.kufur = 0
var %istat.link = 0
var %istat.flood = 0
; — Zamanlı Koruma —
alias koruma.aktifmi {
var %saat = $time(HH)
if (%saat >= 23 || %saat <= 6) { return $true }
else { return $false }
}
; — Ayar Dosyası Okuma/Yazma —
alias koruma.kaydet {
writeini -n koruma.ini Ayarlar log.kanal %log.kanal
writeini -n koruma.ini Ayarlar auto.op %auto.op.nickler
writeini -n koruma.ini Ayarlar kufur %yasak.kufur
writeini -n koruma.ini Ayarlar nick %yasak.nick
writeini -n koruma.ini Ayarlar link %yasak.link
echo -a [KORUMA] Ayarlar dosyaya kaydedildi.
}
alias koruma.yukle {
set %log.kanal $readini(koruma.ini,Ayarlar,log.kanal)
set %auto.op.nickler $readini(koruma.ini,Ayarlar,auto.op)
set %yasak.kufur $readini(koruma.ini,Ayarlar,kufur)
set %yasak.nick $readini(koruma.ini,Ayarlar,nick)
set %yasak.link $readini(koruma.ini,Ayarlar,link)
echo -a [KORUMA] Ayarlar dosyadan yüklendi.
}
; — Kanal Bazlı Ayarlar —
alias koruma.yukle.kanal {
var %kanal = $1
if (%kanal == $null) { echo -a [KORUMA] Kanal belirtmelisin. | return }
set %log.kanal $readini(koruma. [ $+ [ %kanal ] $+ ].ini,Ayarlar,log.kanal)
set %auto.op.nickler $readini(koruma. [ $+ [ %kanal ] $+ ].ini,Ayarlar,auto.op)
set %yasak.kufur $readini(koruma. [ $+ [ %kanal ] $+ ].ini,Ayarlar,kufur)
set %yasak.nick $readini(koruma. [ $+ [ %kanal ] $+ ].ini,Ayarlar,nick)
echo -a [KORUMA] %kanal için ayarlar yüklendi.
}
alias koruma.kaydet.kanal {
var %kanal = $1
if (%kanal == $null) { echo -a [KORUMA] Kanal belirtmelisin. | return }
writeini -n koruma. [ $+ [ %kanal ] $+ ].ini Ayarlar log.kanal %log.kanal
writeini -n koruma. [ $+ [ %kanal ] $+ ].ini Ayarlar auto.op %auto.op.nickler
writeini -n koruma. [ $+ [ %kanal ] $+ ].ini Ayarlar kufur %yasak.kufur
writeini -n koruma. [ $+ [ %kanal ] $+ ].ini Ayarlar nick %yasak.nick
echo -a [KORUMA] %kanal ayarları kaydedildi.
}
; — Süreli Ban (5dk) —
alias ban5dk {
var %chan = $1
var %nick = $2
if (%chan == $null || %nick == $null) { return }
ban -u300 %chan %nick
kick %chan %nick Süreli ban (5 dakika)
inc %istat.ban
msg %log.kanal [SÜRELİ BAN] %nick kanaldan atıldı (%chan).
}
; — Ban Onay Sistemi —
alias banonay {
var %chan = $1
var %nick = $2
var %yonetici = adminnick
msg %yonetici Ban önerisi: %nick ($chan). Onay için: /onayla %chan %nick
echo -a [KORUMA] Ban onayı için %yonetici’ye mesaj gönderildi.
}
alias onayla {
var %chan = $1
var %nick = $2
if (%chan == $null || %nick == $null) { echo -a Kullanım: /onayla #kanal nick | return }
ban -k %chan %nick 2 Yönetici onayıyla atıldı.
msg %log.kanal [ONAY] %nick yönetici onayıyla atıldı.
inc %istat.ban
}
; — Küfür, Nick, Link Koruma —
on *:TEXT:*:#:{
var %nick = $nick
var %chan = $chan
var %text = $1-
; Zaman kontrol
if (!$koruma.aktifmi) { return }
; Küfür kontrol
var %kufurlist = %yasak.kufur
var %foundkufur = $false
var %word = $gettok(%kufurlist,1,44)
var %i = 1
while (%word != $null) {
if ($regex(%text,/\b$regml(%word)\b/i)) { %foundkufur = $true | break }
inc %i
var %word = $gettok(%kufurlist,%i,44)
}
if (%foundkufur) {
ban5dk %chan %nick
inc %istat.kufur
msg %log.kanal [KÜFÜR] %nick engellendi (#%chan)
return
}
; Nick kontrol
var %nicklist = %yasak.nick
var %foundnick = $false
var %nickchk = $nick
var %i = 1
var %word = $gettok(%nicklist,1,44)
while (%word != $null) {
if ($regex(%nickchk,/^$regml(%word)$/i)) { %foundnick = $true | break }
inc %i
var %word = $gettok(%nicklist,%i,44)
}
if (%foundnick) {
ban5dk %chan %nick
inc %istat.ban
msg %log.kanal [NICK] %nick yasaklı isim (#%chan)
return
}
; Link kontrol
var %linklist = %yasak.link
var %foundlink = $false
var %word = $gettok(%linklist,1,44)
var %i = 1
while (%word != $null) {
if ($regex(%text,/$regml(%word)/i)) { %foundlink = $true | break }
inc %i
var %word = $gettok(%linklist,%i,44)
}
if (%foundlink) {
ban5dk %chan %nick
inc %istat.link
msg %log.kanal [LINK] %nick link paylaştı (#%chan)
return
}
}
; — WHOIS Ülke Kontrol (Basit Örnek) —
raw 378:*:{
var %nick = $2
var %host = $3
var %chan = $chan
if (!$koruma.aktifmi) { return }
if (*.ru iswm %host || *.cn iswm %host || *.ir iswm %host || *.af iswm %host) {
ban5dk $chan %nick
msg %log.kanal [ÜLKE] %nick yabancı IP nedeniyle atıldı.
}
}
; — İstatistik Komutu —
alias istatistik {
echo -a === KORUMA BOTU İSTATİSTİKLERİ ===
echo -a Toplam Banlar: %istat.ban
echo -a Küfür Engellemeleri: %istat.kufur
echo -a Link Engellemeleri: %istat.link
}
; — Panel GUI —
dialog korumapanel {
title “Koruma Paneli”
size -1 -1 300 150
text “Log Kanalı:”, 1, 10 10 80 20
edit “”, 2, 100 10 180 20
text “Küfür Listesi (virgül ile):”, 3, 10 40 150 20
edit “”, 4, 170 40 110 20
text “Yasaklı Nickler (virgül ile):”, 5, 10 70 150 20
edit “”, 6, 170 70 110 20
text “Link Listesi (virgül ile):”, 7, 10 100 150 20
edit “”, 8, 170 100 110 20
button “Kaydet”, 9, 50 130 80 25, ok
button “İptal”, 10, 150 130 80 25, cancel
}
alias /panelgui {
dialog -m korumapanel korumapanel
}
on *:dialog:korumapanel:init:*:{
did -a korumapanel 2 %log.kanal
did -a korumapanel 4 %yasak.kufur
did -a korumapanel 6 %yasak.nick
did -a korumapanel 8 %yasak.link
}
on *:dialog:korumapanel:sclick:9:{
set %log.kanal $did(korumapanel,2)
set %yasak.kufur $did(korumapanel,4)
set %yasak.nick $did(korumapanel,6)
set %yasak.link $did(korumapanel,8)
koruma.kaydet
echo -a [KORUMA] Ayarlar panelden kaydedildi.
dialog -x korumapanel
}
on *:dialog:korumapanel:sclick:10:{
dialog -x korumapanel
}
; — Botu Başlat —
alias koruma.baslat {
koruma.yukle
echo -a [KORUMA] Bot başlatıldı.
}
; — Otomatik başlat —
on *:START:{
koruma.baslat
}
Bunu yazınca otomatik olarak:
Ayarları yükler
GUI’yi aktif eder
Otomatik olarak aktif korumayı başlatır
Botu çalıştırmak için: /load -rs koruma.mrc
(veya kodu direkt mIRC script editöre yapıştır)
Ayarları değiştirmek için /panelgui
komutunu kullan
İstatistik için /istatistik
yaz
Kanal ayarlarını dosyaya kaydetmek/yüklemek için koruma.kaydet.kanal #kanal
ve koruma.yukle.kanal #kanal
komutlarını kullanabilirsin
Komut | Açıklama |
---|---|
/panelgui |
Görsel paneli açar |
/koruma.kaydet.kanal #kanal |
Kanalın ayarlarını dosyaya yazar |
/koruma.yukle.kanal #kanal |
Dosyadan o kanala özel ayarları okur |
/istatistik |
Korumayla ilgili istatistikleri gösterir |
/panel |
Konsolda özet ayar gösterimi yapar |
İlk yorum yazan siz olun.