| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- #########################################################################
- ## BlackTools - The Ultimate Channel Control Script ##
- ## One TCL. One smart Eggdrop ##
- #########################################################################
- ########################### VOICEME TCL #############################
- #########################################################################
- ## ##
- ## BlackTools : http://blacktools.tclscripts.net ##
- ## Bugs report : http://www.tclscripts.net/ ##
- ## Online Help : irc://irc.undernet.org/tcl-help ##
- ## #TCL-HELP / UnderNet ##
- ## You can ask in english or romanian ##
- ## ##
- #########################################################################
- proc voiceme:join {nick host hand chan} {
- global black
- if {[isbotnick $nick]} {
- if {[setting:get $chan voiceme]} {
- utimer 30 [list voiceme:check:valid $chan]
- }
- }
- }
- proc voiceme:mode {nick host hand chan mod who} {
- global black
- if {[setting:get $chan voiceme]} {
- if {$mod == "+m"} {
- foreach tmr [utimers] {
- if {[string match -nocase "*voiceme:check:valid $chan*" [join [lindex $tmr 1]]]} {
- killutimer [lindex $tmr 2]
- }
- }
- utimer 30 [list voiceme:check:valid $chan]
- }
- if {$mod == "-m"} {
- foreach tmr [utimers] {
- if {[string match -nocase "*voiceme:check:nomod $chan*" [join [lindex $tmr 1]]]} {
- killutimer [lindex $tmr 2]
- }
- }
- utimer 15 [list voiceme:check:nomod $chan]
- }
- }
- }
- proc voiceme:check:nomod {chan} {
- global black botnick
- set getlang [string tolower [setting:get $chan lang]]
- if {$getlang == ""} { set getlang "[string tolower $black(default_lang)]" }
- set chanmode [getchanmode $chan]
- if {[string match "*m*" $chanmode]} {
- return
- }
- if {[info exists black(voiceme:stat:$chan)]} {
- set replace(%chan%) $chan
- set replace(%botnick%) $botnick
- puthelp "PRIVMSG $chan :[string map [array get replace] $black(say.$getlang.voiceme.2)]"
- if {[info exists black(voiceme:stat:$chan)]} {
- unset black(voiceme:stat:$chan)
- }
- }
- }
- proc voiceme:check:valid {chan} {
- global black botnick
- set getlang [string tolower [setting:get $chan lang]]
- if {$getlang == ""} { set getlang "[string tolower $black(default_lang)]" }
- set replace(%chan%) $chan
- set replace(%botnick%) $botnick
- set replace(%chanserv%) $black(chanserv)
- set chanmode [getchanmode $chan]
- if {[info exists black(voiceme:stat:$chan)]} {
- return
- }
- if {[string match "*m*" $chanmode]} {
- set black(voiceme:stat:$chan) 1
- puthelp "PRIVMSG $chan :[string map [array get replace] $black(say.$getlang.voiceme.1)]"
- set voicemsg_time [time_return_minute $black(voiceme:msgtime)]
- timer $voicemsg_time voiceme:showmsg_timer
- }
- }
- proc voiceme:showmsg_timer {} {
- global black botnick
- set found_entry 0
- set voicemsg_time [time_return_minute $black(voiceme:msgtime)]
- foreach chan [channels] {
- if {[setting:get $chan voiceme]} {
- set getlang [string tolower [setting:get $chan lang]]
- set replace(%botnick%) $botnick
- set replace(%chanserv%) $black(chanserv)
- if {$getlang == ""} { set getlang "[string tolower $black(default_lang)]" }
- set replace(%chan%) $chan
- if {![info exists black(voiceme:stat:$chan)]} {
- continue
- } else {
- puthelp "PRIVMSG $chan :[string map [array get replace] $black(say.$getlang.voiceme.1)]"
- set found_entry 1
- }
- } else {
- if {[info exists black(voiceme:stat:$chan)]} {
- unset black(voiceme:stat:$chan)
- }
- }
- }
- if {$found_entry == "1"} {
- timer $voicemsg_time voiceme:showmsg_timer
- }
- }
- ##############
- #########################################################################
- ## END ##
- #########################################################################
|