01 Şubat 2015, 23:45
|
#1
|
Üyelik tarihi: 01 Şubat 2015
Bulunduğu yer: istanbul
Mesajlar: 50
WEB Sitesi: www.hobichat.net
IRC Sunucusu:
İlgi Alanı: Unreal
Alınan Beğeni: 21
|
Kanala Girene Otovoice
############################## _\|/_ ############################### ## ## autovoice on pubmsg script v1.2 ## by aerosoul@IRCNet (soul@gmx.net) ## ## 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 soul@gmx.net ## (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 5
# 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 0 } 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ı
|