🔔 Çevrimdışı bildirim almak ister misiniz?
Bir konuya etiketlendiğinizde, özel mesaj aldığınızda, bir mesajınız alıntılandığında forumda olmasanız bile anlık bildirim almak için lütfen izni verin.
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