Konu: Tcl Arşivi
Tekil Mesaj gösterimi
Alt 16 Aralık 2007, 22:22   #15
Çevrimdışı
AsiL
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Tcl Arşivi




Otomatik Voice Verme

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
############################## _\|/_ ###############################
##
## autovoice on pubmsg script v1.2 
## by aerosoul@IRCNet (
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
)
##
## this script will give voice to users who say something on the
## channel and devoice them after idle time.
##
## people will have a overlook of who idles and who is active on your
## channels (especially for chans with bot-only ops)
##
## - add voice on pubmsg for #channel : 
##   .chanset #channel +av.pubmsg
##   remove with .chanset #channel -av.pubmsg
## - add devoice after idle time for #channel :
##   .chanset #channel +av.devoice
## - optionally set devoice time in the bots partyline :
##   .chanset #channel av.dtime 30 (in minutes)
##
## there is a little delay before voicing, so there won't be
## modefloods.
##
## tell me bugs and suggestions @ IRCNet #playaz or 
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

## (no, I don't write a version for older eggys, sorry.)
## if you want to send me ganja, please leave a msg ;)
##
## v1.2 28. may 2001: - added option to set devoice time @ partyline
##   - fixed some stuff / cleaned up
##    - removed responding to stupid "thank you, bot"
##     scripts
##   - the script now also voices @'s. makes more
##     sense =)
##
############################## _\|/_ ###############################
#################################################################
#
# Bu script ile kanalda surekli konusan kullanicilara bot otomatik olarak
# +v verir. Eger Belli bir sure konusmazlarsa +v yi alir.
# Kullanabileceginiz komutlar:
# .chanset #kanal +av.pubmsg       otomatik voice verme islemi belirtilen kanal icin aktif olur.
# .chanset #kanal -av.pubmsg       otomatik voice verme kapatilir.
# .chanset #kanal +av.devoice      belli sure konusmayanlar devoice yapilir.
# .chanset #kanal av.dtime <sure>  +v olan kullanici en fazla ne kadar konusmadan durabilir.
# sure dakika cinsinden girilecek.
# Bu komutlari sadece partylineda kullanabilirsiniz.    
# kac dakika konusmazsa devoice olacak
set av_dtime 10
# hangi bayraga sahip kullanicilar devoice yapilmayacak
set av_nodevoiceflag "2fgb"
# +1 bayragina sahip kullaniclar +v alamayacaktir.
set av_novoiceflag "1"
# devoiceleri partylineda goster ? (0/1)
set av_partylog 0
# voice vermeden once hak saniye beklenecek 
set av_delay 20
# oplara voice ver? (0/1)
set av_opvoice 0
# !!!!!!!!!!! Ayarlamalar Bitti !!!!!!!!!!!!!!!!!
############################## _\|/_ ###############################
# # # # # # # # # # don't edit below this line # # # # # # # # # # #
# # # # # # # # if you don't know what you're doing  # # # # # # # #
if {$numversion "1050000"} {
 
putlog "you need eggdrop version >1.5 for autovoice on pubmsg script to work"
 
return 0
}
setudef flag av.pubmsg
setudef flag av
.devoice
setudef int av
.dtime
proc av_main 
{nik uhost hand chan text} { 
 global 
av_delay av_novoiceflag
 set delay 
[expr 1 + [rand $av_delay]] 
 if {![
string match *av_devoice* [timers]]} {timer [expr 3 + [rand 5]] av_devoice}
 
set chan [string tolower $chan
 if {[
av_fcheck $chan] == 0} {return 0}
 if {[
matchattr $hand $av_novoiceflag] || [matchattr $hand |$av_novoiceflag $chan]} { 
 return 
0
 
}
 if {![
isvoice $nik $chan]} { 
 
utimer $delay [split "av_doit $chan $nik"
 }
}
proc av_doit {vchan vnick} { 
global 
av_opvoice
 
if {![isvoice $vnick $vchan]} {
  if {(
$av_opvoice == 0) && [isop $vnick $vchan]} { return }
  
pushmode $vchan +v $vnick 
 


proc av_devoice {} {
global 
av_dtime av_nodevoiceflag av_partylog
if {![string match *av_devoice* [timers]]} {timer [expr 1 + [rand 3]] av_devoice}
 foreach 
chan [channels] {
  
set dtime $av_dtime
  
if {[av_cdtime $chan] != 0} {
   
set dtime [av_cdtime $chan]
  }
  
set av_deoplist ""
  
if {[av_dcheck $chan] == 1} {
   foreach 
user [chanlist $chan] {
    
set hand [nick2hand $user]
    if {[
matchattr $hand $av_nodevoiceflag] || [matchattr $hand |$av_nodevoiceflag $chan]} {
 continue
    }
    if {([
getchanidle $user $chan] > $dtime) && [isvoice $user $chan]} {
 
pushmode $chan -v $user
 set av_deoplist 
"$av_deoplist $user"
    
}
   }
   if {
$av_partylog == 1} {
    
set count 0
    
foreach u $av_deoplist {
 
set count [expr $count 1]
    }
    if {(
$count != 0)} {
     
putlog "-\[ av.pubmsg \]- devoicing $count users in $chan$av_deoplist"
    
}
   }
  }
 }
}
proc av_cdtime {chan} {
 foreach 
info [string tolower [channel info $chan]] {
  if {[
lindex $info 0] == "av.dtime"} {
   return [
lindex $info 1]
  }
 }
}
proc av_fcheck {chan} {
 foreach 
info [channel info $chan] {
  if {[
string tolower [string range $info 1 e]] == "av.pubmsg"} {
   if {[
string index $info 0] == "-"} {
    return 
0
   
} else {
    return 
1
   
}
  }
 }
 return 
0
}
proc av_dcheck {chan} {
 foreach 
info [channel info $chan] {
  if {[
string tolower [string range $info 1 e]] == "av.devoice"} {
   if {[
string index $info 0] == "-"} {
    return 
0
   
} else {
    return 
1
   
}
  }
 }
 return 
0
}
set autovoice_chans ""
foreach chan [channels] {
 if {[
av_fcheck $chan] == 1} {
 
set autovoice_chans "$autovoice_chans $chan"
 
}
}
if {![
string match *av_devoice* [timers]]} {timer [expr 3 + [rand 5]] av_devoice}
bind pubm - * av_main
############################## _\|/_ ###############################
putlog "-\[ voice on pubmsg script v1.2 by aerosoul active on: $autovoice_chans \]-"
############################ legalize! ############################# 


 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet reklamver