#~clone.tcl~###########################
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\#
# Coder by Namesis | #
#/////////////////////////////////////#
###############################~BASLA~#
# Clone korumasini acip kapatmak komutunun isleyecegi kanali belirtiniz.
set clone(operchan) "#Opers"
# Clone korumasi komut on eki.
# Kullanimi: !clone <on/off/durum>
# Bu komut on ekini degistirirseniz, belirlediginiz kelime komut on eki olarak kullanilir.
set clone(komut) "!clone"
# Clone limitini belirtiniz.
set clone(limit) "3"
# Sebeb belirtiniz.
set clone(reason) "Clone girisi tespit edildi By Anticode"
# Ban turunu belirtiniz.
# "1" - Kick
# "2" - Kick+Ban
# "3" - Kill
# "4" - zline
set clone(banturu) "4"
# Eger ustteki secenegi 1, 2 veya 3 olarak belirlerseniz clonelere yapilacak islemide burdan ayarlayabilirsiniz.
# Zline olarak belirlerseniz zaten zline'yi IP'ye atacagi icin butun bagli IP'ler atilacaktir.
# "0" - Sadece son giren clone
# "1" - Clonelerin hepsi
set clone(banall) "0"
# Clone ban maskini belirtiniz.
# "1" -
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
# "2" -
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
# "3" -
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
# "4" -
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
# "5" -
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
# "6" -
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
# "7" -
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
# "8" -
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
# "9" -
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
set clone(banmask) "1"
# Zline atilan banin otomatik acilacagi sureyi belirtiniz.
# "30m" - 30 dakika
# "1h" - 1 saat
# "1d" - 1 gun
set clone(zlntime) "30m"
# Muaf hostlar.
set clone(muafhost1) "ircop.Arkadasca.Net"
set clone(muafhost2) "coadmin.Arkadasca.Net"
set clone(muafhost3) "servicesadmin.Arkadasca.Net"
set clone(muafhost4) "serveradmin.Arkadasca.Net"
set clone(muafhost5) "netadmin.Arkadasca.Net"
################################################## #########################################
# Ayarlamalar bu kadar. Lutfen bundan sonra ki kodlari ellemeyiniz, yoksa calismayabilir. #
################################################## #########################################
bind join - * clones:security
proc clones:security {nick uhost hand chan} {
global botnick clone
if {[lsearch -exact [channel info $clone(operchan)] +cloncmd] != -1} {
if {$nick == $botnick} { return 0 }
if {[string match -nocase $clone(muafhost1) [scan $uhost %*\[^@\]@%s]] || [string match -nocase $clone(muafhost2) [scan $uhost %*\[^@\]@%s]] || [string match -nocase $clone(muafhost3) [scan $uhost %*\[^@\]@%s]] || [string match -nocase $clone(muafhost4) [scan $uhost %*\[^@\]@%s]] || [string match -nocase $clone(muafhost5) [scan $uhost %*\[^@\]@%s]]} { return 0 }
set banmask [clone:banmask $uhost $nick]
set clones 0
foreach tara [chanlist $chan] {
if {[string equal -nocase [scan $uhost %*\[^@\]@%s] [scan [getchanhost $tara $chan] %*\[^@\]@%s]]} {
incr clones
lappend cln $tara
}
if {$clones >= $clone(limit)} {
if {$clone(banturu) == "1"} {
if {$clone(banall) == "0"} {
putquick "KICK $chan $nick :$clone(reason)"
return 0
}
if {$clone(banall) == "1"} {
foreach all1 [chanlist $chan] {
if {[string equal -nocase [scan $uhost %*\[^@\]@%s] [scan [getchanhost $all1 $chan] %*\[^@\]@%s]]} {
putquick "KICK $chan $all1 :$clone(reason)"
}
}
}
return 0
}
if {$clone(banturu) == "2"} {
if {$clone(banall) == "0"} {
putquick "MODE $chan +b $banmask"
putquick "KICK $chan $nick :$clone(reason)"
return 0
}
if {$clone(banall) == "1"} {
foreach all2 [chanlist $chan] {
if {[string equal -nocase [scan $uhost %*\[^@\]@%s] [scan [getchanhost $all2 $chan] %*\[^@\]@%s]]} {
putquick "MODE $chan +b $banmask"
putquick "KICK $chan $all2 :$clone(reason)"
}
}
}
return 0
}
if {$clone(banturu) == "3"} {
if {$clone(banall) == "0"} {
putquick "KILL $nick $clone(reason)"
}
if {$clone(banall) == "1"} {
foreach all3 [chanlist $chan] {
if {[string equal -nocase [scan $uhost %*\[^@\]@%s] [scan [getchanhost $all3 $chan] %*\[^@\]@%s]]} {
putquick "KILL $all3 $clone(reason)"
}
}
}
return 0
}
if {$clone(banturu) == "4"} {
putquick "ZLINE $nick $clone(zlntime) $clone(reason)"
return 0
}
}
}
}
}
setudef flag cloncmd
bind pub - $clone(komut) cloneonoff
proc cloneonoff {nick uhost hand chan text} {
global clone
set komut "[lindex $text 0]"
if {[string match -nocase $clone(operchan) $chan]} {
if {$komut == ""} { putquick "PRIVMSG $clone(operchan) :Kullanimi: $clone(komut) \002<on/off/durum>\002"; return 0 }
if {[string match -nocase "on" $komut]} { channel set $chan +cloncmd; putquick "PRIVMSG $clone(operchan) :Clone korumasi \002acildi\002."; return 0 }
if {[string match -nocase "off" $komut]} { channel set $chan -cloncmd; putquick "PRIVMSG $clone(operchan) :Clone korumasi \002kapatildi\002."; return 0 }
if {[string match -nocase "durum" $komut]} { if {[lsearch -exact [channel info $clone(operchan)] +cloncmd] != -1} { putquick "PRIVMSG $clone(operchan) :Clone korumasi \002acik\002." } else { putquick "PRIVMSG $clone(operchan) :Clone korumasi \002kapali\002." }
}
}
return 0
}
proc clone:banmask {uhost nick} {
global botnick clone
switch -- $clone(banmask) {
1 { set banmask "*!*@[lindex [split $uhost @] 1]" }
2 { set banmask "*!*@[lindex [split [maskhost $uhost] "@"] 1]" }
3 { set banmask "*!*$uhost" }
4 { set banmask "*!*[lindex [split [maskhost $uhost] "!"] 1]" }
5 { set banmask "*!*[lindex [split $uhost "@"] 0]*@[lindex [split $uhost "@"] 1]" }
6 { set banmask "*$nick*!*@[lindex [split [maskhost $uhost] "@"] 1]" }
7 { set banmask "*$nick*!*@[lindex [split $uhost "@"] 1]" }
8 { set banmask "$nick![lindex [split $uhost "@"] 0]@[lindex [split $uhost @] 1]" }
9 { set banmask "$nick![lindex [split $uhost "@"] 0]@[lindex [split [maskhost $uhost] "@"] 1]" }
default { set banmask "*!*@[lindex [split $uhost @] 1]" }
return $banmask
}
}
putlog "clone.tcl v1.0 - Coder by Namesis"
putlog "Iletisim: "
#~SON~#################################
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\#
# Coder by Namesis | #
#/////////////////////////////////////#
###########################~clone.tcl~#
Bu kodu mirce yada koruma botuna göre editleyemezmiyiz !