| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- #########################################################################
- ## BlackTools - The Ultimate Channel Control Script ##
- ## One TCL. One smart Eggdrop ##
- #########################################################################
- ########################### VOICEME TCL #############################
- #########################################################################
- ## ##
- ## BlackTools : http://blacktools.tclscripts.net ##
- ## Bugs report : http://www.tclscripts.net/ ##
- ## GitHub page : https://github.com/tclscripts/BlackToolS-TCL ##
- ## 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"} {
- utimer 30 [list voiceme:check:valid $chan]
- }
- if {$mod == "-m"} {
- 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
- set text [black:color:set "" $black(say.$getlang.voiceme.2)]
- set text [join $text]
- puthelp "PRIVMSG $chan :[string map [array get replace] $text]"
- if {[info exists black(voiceme:stat:$chan)]} {
- unset black(voiceme:stat:$chan)
- }
- if {[info exists black(voiceme:$chan:timer_start)]} {
- unset black(voiceme:$chan:timer_start)
- }
- }
- }
- proc voiceme:get:time {chan} {
- global black
- if {[setting:get $chan voiceme-showtime] != ""} {
- set return_time [time_return_minute [setting:get $chan voiceme-showtime]]
- } else {
- set return_time [time_return_minute $black(voiceme:msgtime)]
- }
- return $return_time
- }
- proc voiceme:check:valid {chan} {
- global black botnick
- set found_timer 0
- 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
- if {[setting:get $chan nologged]} {
- set text [black:color:set "" $black(say.$getlang.voiceme.6)]
- } else {
- set text [black:color:set "" $black(say.$getlang.voiceme.1)]
- }
- set text [join $text]
- puthelp "PRIVMSG $chan :[string map [array get replace] $text]"
- if {![info exists black(voiceme:$chan:timer_start)]} {
- set black(voiceme:$chan:timer_start) [voiceme:get:time $chan]
- }
- }
- }
- proc voiceme:showmsg_timer {chans} {
- global black botnick
- set found_entry 0
- set unixtime [unixtime]
- foreach chan $chans {
- if {[setting:get $chan voiceme]} {
- if {[info exists black(lastaction:$chan)]} {
- set total_anunt 0
- set unixtime [unixtime]
- if {[setting:get $chan voiceme-showtime] != ""} {
- set return_time [time_return_minute [setting:get $chan voiceme-showtime]]
- } else {
- set return_time [time_return_minute $black(voiceme:msgtime)]
- }
- set time [expr [expr [expr $return_time * $black(entry:shown)] * 60] + $unixtime]
- if {[expr $unixtime - $black(lastaction:$chan)] > [expr $time - $unixtime]} {
- continue
- }
- } else { continue }
- 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 {
- if {[setting:get $chan nologged]} {
- set text [black:color:set "" $black(say.$getlang.voiceme.6)]
- } else {
- set text [black:color:set "" $black(say.$getlang.voiceme.1)]
- }
- set text [join $text]
- puthelp "PRIVMSG $chan :[string map [array get replace] $text]"
- set found_entry 1
- }
- } else {
- if {[info exists black(voiceme:stat:$chan)]} {
- unset black(voiceme:stat:$chan)
- }
- if {[info exists black(voiceme:$chan:timer_start)]} {
- unset black(voiceme:$chan:timer_start)
- }
- }
- }
- }
- ##############
- #########################################################################
- ## END ##
- #########################################################################
|