IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  odeaweb

>
+
Etiketlenen Kullanıcılar

1Beğeni(ler)

 
 
LinkBack Seçenekler Stil
Prev önceki Mesaj   sonraki Mesaj Next
Alt 16 Aralık 2007, 22:01   #8
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Tcl Arşivi




Clone Koruma Pro

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
######################################################################
#                    clonepro.tcl by Algol, v.1.1
#                    
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
 (Jun 2001)
######################################################################
# ClonePro will attempt to stop join/part floods by individual users
# as well as clones mass-joining, on the specified channels. The bans
# will always be in the *!*@full.host.name format.
# Tested on a 1.6.4 eggdrop
######################################################################

# The channels you want this active on
set cp_chans "#papatya"
# Number of *@host joins in how many seconds, joins:seconds
set cp_j_flood 4:10
# Number of *user@host join/part cycles in how many seconds, j/p_cycles:seconds
set cp_jp_flood 4:10
# Period in minutes to ban *!*@host for multiple joins or join/part floods
set cp_btime 3
# Handle of the bot user that shoud be sent a note
set cp_notify "1Join/Part flood tespit edildi."
##### DON'T edit anything below this line unless you know what you're doing #####
bind join - * clone_pro_join
bind rejn 
- * clone_pro_join
bind part 
- * clone_pro_leave
bind sign 
- * clone_pro_leave
bind splt 
- * clone_pro_leave
proc clone_pro_join 
{nick uhost handl chan} {
 global 
cp_chans cp_j_flood cp_jp_flood cp_btime cp_host_count cp_uh_count cp_notify
 set uhost 
[string tolower $uhost]
 
set host [lindex [split $uhost @] 1]
 
set chan [string tolower $chan]
 if {[
lsearch -exact $cp_chans $chan] == -1} {return 0}
 if {![
info exists cp_host_count($host:$chan)]} {
  
set cp_host_count($host:$chan1
 
} else {
  
incr cp_host_count($host:$chan)
 }
 
utimer [lindex $cp_j_flood 1"cp_expire cp_host_count($host:$chan)"
 
if {$cp_host_count($host:$chan) > [lindex $cp_j_flood 0]} {
  
newchanban $chan *!*@$host ClonePro "Not so fast" $cp_btime
          sendnote ClonePro $cp_notify 
"÷ banned *!*@$host (massjoin) on $chan, [ctime [unixtime]] ÷"
  
if {[botisop $chan] && [onchan $nick $chan]} {
   
putserv "KICK $chan $nick :1Join/Part flood tespit edildi."
  
}
    }
 if {![
info exists cp_uh_count($uhost:$chan)]} {
  
set cp_uh_count($uhost:$chan1
 
} else {
  
incr cp_uh_count($uhost:$chan)
 }
 
utimer [lindex $cp_jp_flood 1"cp_expire cp_uh_count($uhost:$chan)"
 
if {$cp_uh_count($uhost:$chan) >= [expr [lindex $cp_jp_flood 0]*2]} {
  
newchanban $chan *!*@$host ClonePro "1Join/Part flood tespit edildi." $cp_btime
          sendnote ClonePro $cp_notify 
"÷ banned *!*@$host (join/part flood) on $chan, [ctime [unixtime]] ÷"
  
if {[botisop $chan] && [onchan $nick $chan]} {
   
putserv "KICK $chan $nick :1Join/Part flood tespit edildi."
  
}
    }
}
proc clone_pro_leave {nick uhost handl chan {reason "Left channel"}} {
 global 
cp_chans cp_jp_flood cp_btime cp_uh_count cp_notify
 set uhost 
[string tolower $uhost]
 
set host [lindex [split $uhost @] 1]
 
set chan [string tolower $chan]
 if {[
lsearch -exact $cp_chans $chan] == -1} {return 0}
 if {![
info exists cp_uh_count($uhost:$chan)]} {
  
set cp_uh_count($uhost:$chan1
 
} else {
  
incr cp_uh_count($uhost:$chan)
 }
 
utimer [lindex $cp_jp_flood 1"cp_expire cp_uh_count($uhost:$chan)"
 
if {$cp_uh_count($uhost:$chan) >= [expr [lindex $cp_jp_flood 0]*2]} {
  
newchanban $chan *!*@$host ClonePro "1Join/Part flood tespit edildi." $cp_btime
          sendnote ClonePro $cp_notify 
"÷ banned *!*@$host (join/part flood) on $chan, [ctime [unixtime]] ÷"
  
if {[botisop $chan] && [onchan $nick $chan]} {
   
putserv "KICK $chan $nick :1Join/Part flood tespit edildi."
  
}
    }
}
proc cp_expire var_exp {
 
upvar $var_exp var_pointer
  
 
if {$var_pointer 1} {
  
incr var_pointer -1
 
} else {
  unset 
var_pointer
 
}
}
set cp_chans [string tolower $cp_chans]
set cp_j_flood [split $cp_j_flood :]
set cp_jp_flood [split $cp_jp_flood :]

# clear variables and timers on rehash
if {[array exists cp_host_count]} {unset cp_host_count}
if {[array 
exists cp_uh_count]} {unset cp_uh_count}
foreach 
check_utimer [utimers] {
 if {[
string match cp_*_count* [lindex $check_utimer 1]]} {
  
killutimer [lindex $check_utimer 2]
 }



 
Alıntı ile Cevapla

 

Etiketler
arsivi, arşivi, tcl


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
dll arşivi 2 Feragat mIRC Scripting Programları 8 24 Haziran 2024 00:48
V i d e o Gif Arşivi Zen Avatar ve Smiley 9 29 Ağustos 2013 15:42
IRC Bot Arşivi.. PhoeniX61 IRCd Botlar 1 03 Mart 2012 00:12
BMW Arşivi Hasan Otomobil Haberleri 0 26 Temmuz 2006 11:32

×