Merhaba mevcut botumda badnick listesi var badnick.db istediğim şu badniçkler girdiginde otomatik nickleri değiştirsin statüste badnick tcl altaki gibi
putquick "MODE $chan +b $line" bu iki kisimda var sanırım bunla alakalı olması gerekiyor
Kod: Kodu kopyalamak için üzerine çift tıklayın!
#Badnick Başlangıç
bind pub - $sv2(badnick) sv2_badnick
proc sv2_badnick {nick uhost hand chan text} {
global botnick sv2
set first "[lindex $text 0]"
set second "[lindex $text 1]"
set third "[lindex $text 2]"
set r [lindex $sv2(renk) [rand [llength $sv2(renk)]]]
if {[string match -nocase $sv2(adminc) $chan]} {
if {$first == ""} { putquick "PRIVMSG $chan \026 Kullanım \026 \003$r\002$sv2(badnick) <aç|kapat|durum|ekle|sil|listele> <nick>\002 şeklindedir.\003"; return 0 }
if {[string match -nocase "aç" $first]} {
set sv2(bndurum) "on"
putquick "PRIVMSG $chan \003$r\Badnick koruması \002açık\002 hale getirildi.\003"
}
if {[string match -nocase "kapat" $first]} {
set sv2(bndurum) "off"
putquick "PRIVMSG $chan \003$r\Badnick koruması \002kapalı\002 hale getirildi.\003"
}
if {[string match -nocase "durum" $first]} {
if {$sv2(bndurum) == "on"} {
putquick "PRIVMSG $chan \003$r\Badnick koruması şu anda \002açık\002 durumdadır.\003"
}
if {$sv2(bndurum) == "off"} {
putquick "PRIVMSG $chan \003$r\Badnick koruması şu anda \002kapalı\002 durumdadır.\003"
}
}
if {[string match -nocase "ekle" $first]} {
if {$second == ""} {
putquick "PRIVMSG $chan \003$r\002Nick\002 belirtmediniz.\003"
putquick "PRIVMSG $chan \026 Kullanım \026 \003$r\002$sv2(badnick) $first <nick>\002 şeklindedir.\003"
return 0
}
set badadd "[open "$sv2(bndizin)" a]"
puts $badadd "$second"
flush $badadd
catch {closer $badadd }
putquick "PRIVMSG $chan \003$r\002$second\002 başarıyla \002badnick\002 listesine eklenmiştir.\003"
}
if {[string match -nocase "sil" $first]} {
if {$second == ""} {
putquick "PRIVMSG $chan \003$r\002Nick\002 belirtmediniz.\003"
putquick "PRIVMSG $chan \026 Kullanım \026 \003$r\002$sv2(badnick) $first <nick>\002 şeklindedir.\003"
return 0
}
set data ""
set input [open "$sv2(bndizin)" r]
while {![eof $input]} {
set curline [gets $input];set curline [split $curline]
if {$curline != ""} {
set data [linsert $data end $curline]
}
}
catch {close $input}
set deger -1;set esles ""
foreach line $data {
incr deger
if {[string match -nocase "*$second*" [lindex [split $line] 0]]} {
set esles $deger
break
}
}
if {$esles == ""} {
putquick "PRIVMSG $chan \003$r\002$second\002 badnick listesinde yoktur.\003"
putquick "PRIVMSG $chan \003$r\Listeyi görmek için\002 $sv2(badnick) <listele>\002 komutunu kullanınız.\003"
return
}
set newdata [lreplace $data $deger $deger]
set output [open "$sv2(bndizin)" w]
foreach newline $newdata {
if {$newline != ""} {
regsub -all "{" $newline "" newline
regsub -all "}" $newline "" newline
puts $output $newline
}
}
flush $output
catch {close $output}
putquick "PRIVMSG $chan \003$r\002$second\002 başarıyla \002badnick\002 listesinden silinmiştir.\003"
return
}
if {[string match -nocase "listele" $first]} {
set input1 [open "$sv2(bndizin)" r]
set lines1 [split [read $input1] \n]
catch {close $input1}
putquick "PRIVMSG $chan \002"
putquick "PRIVMSG $chan \026 Badnick Listesi \026"
putquick "PRIVMSG $chan \002"
set sayc1 0
foreach line1 $lines1 {
if {$line1 != ""} {
incr sayc1
if {$second == "" && $second != ""} {
putquick "PRIVMSG $chan \002$sayc1.\002 $line1"
}
if {$sayc1 >= $second && $sayc1 < $third} {
putquick "PRIVMSG $chan \002$sayc1.\002 $line1"
}
if {[string match "*$second*" $line1] && $third == ""} {
putquick "PRIVMSG $chan \002$sayc1.\002 $line1"
}
}
}
if {$sayc1 == 0} {
putquick "PRIVMSG $chan \026 HATA \026 \003$r\002Badnick\002 listesinde hiç kayıt bulunamadı.\003"
return
} else {
putquick "PRIVMSG $chan \002"
putquick "PRIVMSG $chan \003$r\Listenin hepsini görmemek için \002$sv2(badnick) $first <kelime veya 1 10>\002 komutunu kullanabilirsiniz.\003"
putquick "PRIVMSG $chan \003$r\002$sv2(badnick) $first <kelime>\002 komutunu kullanırsanız, o kelimeye uyan verileri listeler.\003"
putquick "PRIVMSG $chan \003$r\002$sv2(badnick) $first <1 10>\002 komutunu kullanırsanız, 1'den 10'a kadar olan verileri listeler.\003"
putquick "PRIVMSG $chan \003$r\Silmek için \002$sv2(badnick) sil <nick>\002 komutunu kullanabilirsiniz.\003"
putquick "PRIVMSG $chan \002"
putquick "PRIVMSG $chan \026 Badnick Listesi Sonu \026"
putquick "PRIVMSG $chan \002" }
}
}
}
bind join - * sv2_badnick_55
proc sv2_badnick_55 {nick uhost hand chan} {
global botnick sv2
if {$sv2(bndurum) == "on"} {
if {$nick == $botnick} { return 0 }
if {[isop $nick $chan]} { return 0 }
if {[ishalfop $nick $chan]} { return 0 }
if {[onchan $nick $sv2(adminc)] || [onchan $nick $sv2(operc)] || [onchan $nick $sv2(opc)] || [onchan $nick $sv2(helpersc)]} { return 0 }
if {[botisop $chan]} {
if {[info exists ::muaflist]} {
foreach mf $::muaflist {
if {[string match -nocase $mf $nick!$uhost]} { return 0 }
}
}
set r [lindex $sv2(renk) [rand [llength $sv2(renk)]]]
set input "[open "$sv2(bndizin)" r]"
set lines "[split [subst -nocommands [read $input]] \n]"
catch {close $input}
foreach line $lines {
if {$line != ""} {
if {[string match "$line" [string tolower $nick]]} {
putquick "MODE $chan +b $line"
putquick "KICK $chan $nick \003$r$sv2(badnickmsg)\003"
}
}
}
}
}
}
bind nick - * sv2_rbadnick_55
proc sv2_rbadnick_55 {nick uhost hand chan newnick} {
global botnick sv2
if {$sv2(bndurum) == "on"} {
if {$newnick == $botnick} { return 0 }
if {[isop $newnick $chan]} { return 0 }
if {[ishalfop $newnick $chan]} { return 0 }
if {[botisop $chan]} {
if {[onchan $newnick $sv2(adminc)] || [onchan $newnick $sv2(operc)] || [onchan $newnick $sv2(opc)] || [onchan $newnick $sv2(helpersc)]} { return 0 }
if {[info exists ::muaflist]} {
foreach mf $::muaflist {
if {[string match -nocase $mf $newnick!$uhost]} { return 0 }
}
}
set r [lindex $sv2(renk) [rand [llength $sv2(renk)]]]
set input "[open "$sv2(bndizin)" r]"
set lines "[split [subst -nocommands [read $input]] \n]"
catch {close $input}
foreach line $lines {
if {$line != ""} {
if {[string match "$line" [string tolower $newnick]]} {
putquick "MODE $chan +b $line"
putquick "KICK $chan $newnick \003$r$sv2(badnickmsg)\003"
#putquick "PRIVMSG $sv2(logc) \026 BadNick \026 \003$r\002$newnick\002 nickini \002$line\002 olarak değiştirdiği için \002$chan\002 odasından uzaklaştırıldı.\003"
}
}
}
}
}
}
#Badnick Sonu