; Korumayı aktif etmek için /badword on
alias badword.init {
if (!$isid) return
if ($exists(badwords.txt)) {
loadbuf -p %badwords badwords.txt
}
else {
set %badwords
}
set %badword.detect off
set %badword.channels #Kanal,#Kanal1,#Kanal2
echo -a 14»1»15»4 Küfür koruması ayarları yüklendi. Korumayı aktif etmek için /badword on yazınız.
}
on *:START:{ badword.init }
; Sadece belirtilen kanallarda çalışır
on *:TEXT:*:%badword.channels:{
if (%badword.detect == on) {
var %chan = $chan, %nick = $nick
if (%nick !isop %chan) {
var %msg = $1-, %i = 1
while (%i <= $numtok(%msg, 32)) {
if ($istok(%badwords, $gettok(%msg, %i, 32), 32)) {
Shun %nick 2Sunucu kurallarına uymadığınız için bir süre girişiniz yasaklanmıştır. Lütfen Sunucu kurallarına uyunuz daha ayrıntılı bilgi ve yardım için 4/motd2 yazınız. 4Nick:2 %nick 4Kanal:2 %chan 12$time
msg #Rapor 4Küfür Tespiti: 14%nick 4kullanıcısı 14%chan 4kanalında küfür kullandı. Kelime: 14$gettok(%msg, %i, 32) 4- Saat: 14$time
halt
}
inc %i
}
}
}
}
on *:ACTION:*:%badword.channels:{
if (%badword.detect == on) {
var %chan = $chan, %nick = $nick
if (%nick !isop %chan) {
var %msg = $1-, %i = 1
while (%i <= $numtok(%msg, 32)) {
if ($istok(%badwords, $gettok(%msg, %i, 32), 32)) {
Shun %nick 2Sunucu kurallarına uymadığınız için bir süre girişiniz yasaklanmıştır. Lütfen Sunucu kurallarına uyunuz daha ayrıntılı bilgi ve yardım için 4/motd2 yazınız. 4Nick:2 %nick 4Kanal:2 %chan 12$time
msg #Rapor 4Küfür Tespiti (ACTION): 14%nick 4kullanıcısı 14%chan 4kanalında küfür kullandı. Kelime: 14$gettok(%msg, %i, 32) 4- Saat: 14$time
halt
}
inc %i
}
}
}
}
on *:NOTICE:*:%badword.channels:{
if (%badword.detect == on) {
var %chan = $chan, %nick = $nick
if (%nick !isop %chan) {
var %msg = $1-, %i = 1
while (%i <= $numtok(%msg, 32)) {
if ($istok(%badwords, $gettok(%msg, %i, 32), 32)) {
Shun %nick 2Sunucu kurallarına uymadığınız için bir süre girişiniz yasaklanmıştır. Lütfen Sunucu kurallarına uyunuz daha ayrıntılı bilgi ve yardım için 4/motd2 yazınız. 4Nick:2 %nick 4Kanal:2 %chan 12$time
msg #Rapor 4Küfür Tespiti (NOTICE): 14%nick 4kullanıcısı 14%chan 4kanalında küfür kullandı. Kelime: 14$gettok(%msg, %i, 32) 4- Saat: 14$time
halt
}
inc %i
}
}
}
}
on *:JOIN:%badword.channels:{
if (%badword.detect == on) {
var %chan = $chan, %nick = $nick
; Eğer nickin kendisi küfür içeriyorsa
var %i = 1
while (%i <= $numtok(%nick, 32)) {
if ($istok(%badwords, $gettok(%nick, %i, 32), 32)) {
Shun %nick 2Sunucu kurallarına uymadığınız için bir süre girişiniz yasaklanmıştır. Lütfen Sunucu kurallarına uyunuz daha ayrıntılı bilgi ve yardım için 4/motd2 yazınız. 4Nick:2 %nick 4Kanal:2 %chan 12$time
msg #Rapor 4Küfürlü Nick Tespiti: 14%nick 4kullanıcısı 14%chan 4kanalına girdi. 4- Saat: 14$time
halt
}
inc %i
}
}
}
alias badword {
if ($1 == on) {
set %badword.detect on
echo -a 14»1»15»4 Küfür koruması aktif edildi.
}
elseif ($1 == off) {
set %badword.detect off
echo -a 14»1»15»4 Küfür koruması devre dışı bırakıldı.
}
elseif ($1 == add) {
if ($2 != $null) {
set %badwords $addtok(%badwords, $2, 32)
echo -a 14»1»15»4 Listeye $2 eklendi
; Kaydet
write -c badwords.txt %badwords
}
}
elseif ($1 == del) {
if ($istok(%badwords, $2, 32)) {
set %badwords $remtok(%badwords, $2, 32)
echo -a 14»1»15»4 Listeden $2 silindi
; Kaydet
write -c badwords.txt %badwords
}
}
elseif ($1 == delall) {
unset %badwords
echo -a 14»1»15»4 Küfür listesi boşaltıldı
; Kaydet
write -c badwords.txt %badwords
}
elseif ($1 == list) {
if ($window(@
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]s-List) == $null) {
window -ab @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]s-List
}
if ($numtok(%badwords, 32) == 0) {
aline @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]s-List 14»1»15»1 Listede hiçbir kelime yok
halt
}
aline @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]s-List 14»1»14»4 Küfürlü kelimeler listeleniyor... 4Toplam küfür: ( $+ $numtok(%badwords, 32) $+ )
var %n = 1
while (%n <= $numtok(%badwords, 32)) {
aline $color(info 2) @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]s-List 4»»» $gettok(%badwords, %n, 32)
inc %n
}
aline @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]s-List 14»1»15»4 Liste sonu
}
elseif ($1 == import) {
if ($2 != $null) {
var %importfile = $2
if (!$exists(%importfile)) {
echo -a 4»1»15»4 Dosya bulunamadı: %importfile
return
}
var %lines = $lines(%importfile), %i = 1
var %count = 0
while (%i <= %lines) {
var %line = $read(%importfile, %i)
if (%line != $null) {
; Satırı boşluklardan ayır ve her kelimeyi ekle
var %j = 1, %words = $numtok(%line, 32)
while (%j <= %words) {
var %word = $gettok(%line, %j, 32)
if (%word != $null) {
if (!$istok(%badwords, %word, 32)) {
set %badwords $addtok(%badwords, %word, 32)
inc %count
}
}
inc %j
}
}
inc %i
}
echo -a 14»1»15»4 Toplam %count yeni kelime eklendi
write -c badwords.txt %badwords
badword list
}
else {
echo -a 14»1»15»4 Dosya adı belirtilmedi. Kullanım: /badword import [dosya_adı]
}
}
elseif ($1 == export) {
; Küfür listesini TXT dosyasına kaydet
if ($2 != $null) {
var %exportfile = $2
write -c %exportfile %badwords
echo -a 14»1»15»4 Küfür listesi %exportfile dosyasına kaydedildi
}
else {
echo -a 14»1»15»4 Dosya adı belirtilmedi. Kullanım: /badword export [dosya_adı]
}
}
elseif ($1 == channels) {
if ($2 != $null) {
set %badword.channels $2
echo -a 14»1»15»4 Küfür koruması şu kanallarda aktif: %badword.channels
}
else {
echo -a 14»1»15»4 Mevcut kanallar: %badword.channels
}
}
elseif ($1 == editor) {
badwords.editor
}
elseif ($1 == help) {
echo -a 14»1»15»4 Küfür koruması komutları:
echo -a 14»1»15»4 /badword on - Korumayı aktif et
echo -a 14»1»15»4 /badword off - Korumayı devre dışı bırak
echo -a 14»1»15»4 /badword add [kelime] - Küfür ekle
echo -a 14»1»15»4 /badword del [kelime] - Küfür sil
echo -a 14»1»15»4 /badword delall - Tüm küfürleri sil
echo -a 14»1»15»4 /badword list - Küfür listesini göster
echo -a 14»1»15»4 /badword import [dosya_adı] - TXT dosyasından küfür listesi içeri aktar
echo -a 14»1»15»4 /badword export [dosya_adı] - Küfür listesini TXT dosyasına dışa aktar
echo -a 14»1»15»4 /badword channels [kanal1,kanal2] - Kanalları ayarla
echo -a 14»1»15»4 /badword editor - Gelişmiş küfür listesi düzenleyicisini aç
}
else {
echo -a 14»1»15»4 Geçersiz komut. Yardım için /badword help yazınız.
}
}
alias badwords.editor {
dialog -m badwordsEditor badwordsEditor
}
dialog badwordsEditor {
title "Küfür Listesi Düzenleyici"
size -1 -1 500 400
option dbu
text "Mevcut Küfür Listesi:", 1, 5 5 100 8
list 2, 5 15 300 330, vsbar
button "Ekle", 10, 315 15 175 25
button "Seçileni Sil", 11, 315 45 175 25
button "Dosyadan İçe Aktar", 12, 315 75 175 25
button "Dosyaya Dışa Aktar", 13, 315 105 175 25
button "Tümünü Temizle", 14, 315 135 175 25
button "Aktif/Pasif Yap", 15, 315 165 175 25
text "Durum:", 20, 5 350 40 10
text "", 21, 50 350 200 10
button "Kapat", 99, 315 340 175 25, ok
}
on *:dialog:badwordsEditor:init:*:{
; Listeyi doldur
did -r badwordsEditor 2
var %i = 1
while (%i <= $numtok(%badwords, 32)) {
did -a badwordsEditor 2 $gettok(%badwords, %i, 32)
inc %i
}
; Durumu göster
if (%badword.detect == on) {
did -o badwordsEditor 21 4AÇIK - Aktif Kanallar: %badword.channels
}
else {
did -o badwordsEditor 21 14KAPALI
}
}
on *:dialog:badwordsEditor:sclick:10:{
; Ekle butonu
var %word = $$?="Eklemek istediğiniz küfürlü kelimeyi giriniz:"
if (%word != $null) {
if (!$istok(%badwords, %word, 32)) {
set %badwords $addtok(%badwords, %word, 32)
did -a badwordsEditor 2 %word
write -c badwords.txt %badwords
}
else {
echo -a 14»1»15»4 Bu kelime zaten listede var!
}
}
}
on *:dialog:badwordsEditor:sclick:11:{
; Seçileni Sil butonu
var %sel = $did(badwordsEditor, 2).sel
if (%sel > 0) {
var %word = $did(badwordsEditor, 2).seltext
set %badwords $remtok(%badwords, %word, 1, 32)
did -d badwords
on *:dialog:badwordsEditor:sclick:11:{
; Seçileni Sil butonu
var %sel = $did(badwordsEditor, 2).sel
if (%sel > 0) {
var %word = $did(badwordsEditor, 2).seltext
set %badwords $remtok(%badwords, %word, 1, 32)
did -d badwordsEditor 2 %sel
write -c badwords.txt %badwords
}
}
on *:dialog:badwordsEditor:sclick:12:{
; Dosyadan İçe Aktar butonu
var %file = $sfile($mircdir, Dosyadan Küfür Listesi Yükle, *.txt)
if (%file != $null) {
var %lines = $lines(%file), %i = 1
var %count = 0
while (%i <= %lines) {
var %line = $read(%file, %i)
if (%line != $null) {
; Satırı boşluklardan ayır ve her kelimeyi ekle
var %j = 1, %words = $numtok(%line, 32)
while (%j <= %words) {
var %word = $gettok(%line, %j, 32)
if (%word != $null) {
if (!$istok(%badwords, %word, 32)) {
set %badwords $addtok(%badwords, %word, 32)
did -a badwordsEditor 2 %word
inc %count
}
}
inc %j
}
}
inc %i
}
write -c badwords.txt %badwords
echo -a 14»1»15»4 Toplam %count yeni kelime eklendi
}
}
on *:dialog:badwordsEditor:sclick:13:{
; Dosyaya Dışa Aktar butonu
var %file = $sfile($mircdir, Küfür Listesini Dışa Aktar, *.txt)
if (%file != $null) {
write -c %file %badwords
echo -a 14»1»15»4 Küfür listesi %file dosyasına kaydedildi
}
}
on *:dialog:badwordsEditor:sclick:14:{
; Tümünü Temizle butonu
if ($?!="Tüm küfür listesini silmek istediğinize emin misiniz? (evet/hayır)" == evet) {
unset %badwords
did -r badwordsEditor 2
write -c badwords.txt
echo -a 14»1»15»4 Küfür listesi tamamen temizlendi
}
}
on *:dialog:badwordsEditor:sclick:15:{
; Aktif/Pasif Yap butonu
if (%badword.detect == on) {
set %badword.detect off
did -o badwordsEditor 21 14KAPALI
echo -a 14»1»15»4 Küfür koruması devre dışı bırakıldı.
}
else {
set %badword.detect on
did -o badwordsEditor 21 4AÇIK - Aktif Kanallar: %badword.channels
echo -a 14»1»15»4 Küfür koruması aktif edildi.
}
}
; Toplu küfür ekleme işlemi için daha kullanışlı bir dialog
alias badwords.bulkadd {
dialog -m badwordsBulkAdd badwordsBulkAdd
}
dialog badwordsBulkAdd {
title "Toplu Küfür Ekleme"
size -1 -1 400 300
option dbu
text "Her satıra bir küfür gelecek şekilde liste girin:", 1, 5 5 300 8
edit "", 2, 5 15 390 250, multi vsbar
button "Ekle", 10, 5 270 190 25
button "İptal", 99, 200 270 195 25, cancel
}
on *:dialog:badwordsBulkAdd:sclick:10:{
; Ekle butonu
var %text = $did(badwordsBulkAdd, 2).text
var %lines = $numtok(%text, 13), %i = 1
var %count = 0
while (%i <= %lines) {
var %line = $gettok(%text, %i, 13)
if (%line != $null) {
; Satırı boşluklardan ayır ve her kelimeyi ekle
var %j = 1, %words = $numtok(%line, 32)
while (%j <= %words) {
var %word = $gettok(%line, %j, 32)
if (%word != $null) {
if (!$istok(%badwords, %word, 32)) {
set %badwords $addtok(%badwords, %word, 32)
inc %count
}
}
inc %j
}
}
inc %i
}
write -c badwords.txt %badwords
echo -a 14»1»15»4 Toplam %count yeni kelime eklendi
; Eğer editör açıksa listeyi güncelle
if ($dialog(badwordsEditor)) {
dialog -r badwordsEditor
badwords.editor
}
; Dialog'u kapat
dialog -x badwordsBulkAdd
}
on *:dialog:badwordsEditor:sclick:*:{
if ($did == 16) {
badwords.bulkadd
}
}
Menu Channel {
Küfür Koruması
.Ayarlar:/badword.editor
.Aktif Et:/badword on
.Devre Dışı Bırak:/badword off
.Küfür İşlemleri
..Küfür Ekle:/badword add $$?="Küfür gir:"
..Toplu Küfür Ekle:/badwords.bulkadd
..Küfür Listesini Göster:/badword list
..Gelişmiş Editör:/badwords.editor
.Dosya İşlemleri
..İçe Aktar:/badword import $$?="Dosya adı girin:"
..Dışa Aktar:/badword export $$?="Dosya adı girin:"
}
on *:dialog:badwordsEditor:init:*:{
; Diğer başlangıç kodları zaten yazıldı
; Toplu ekleme butonu ekle
did -a badwordsEditor 16 "Toplu Küfür Ekle" 315 195 175 25
}