| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518 |
- #########################################################################
- ## BlackTools - The Ultimate Channel Control Script ##
- ## One TCL. One smart Eggdrop ##
- #########################################################################
- ########################### LOCAL TIMERS ##############################
- #########################################################################
- ## ##
- ## 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 blacktools:timers:load {chan} {
- global black
- if {[validchan $chan]} {
- #badchan
- if {[setting:get $chan antibadchan]} {
- if {![info exists black(badchan:$chan:timer_start)]} {
- if {[setting:get $chan badchan-scantime] != ""} {
- set time [setting:get $chan badchan-scantime]
- } else {
- set time $black(badchan:scantime)
- }
- set scan_time [time_return_minute $time]
- set black(badchan:$chan:timer_start) $scan_time
- }
- }
- #end
- #clonescan
- if {[setting:get $chan clonescan]} {
- if {![info exists black(clonescan:$chan:timer_start)]} {
- if {[setting:get $chan clonescan-scantime] != ""} {
- set time [setting:get $chan clonescan-scantime]
- } else {
- set time $black(clonescantime)
- }
- set scan_time [time_return_minute $time]
- set black(clonescan:$chan:timer_start) $scan_time
- }
- }
- #end
- #antispam
- if {[setting:get $chan antispam]} {
- if {![info exists black(antispam:$chan:timer_start)]} {
- if {[setting:get $chan antispam-scantime] != ""} {
- set time [setting:get $chan antispam-scantime]
- } else {
- set time $black(spamcycle)
- }
- set scan_time [time_return_minute $time]
- set black(antispam:$chan:timer_start) $scan_time
- }
- }
- #end
- #anunt
- if {[setting:get $chan anunt]} {
- if {![info exists black(anunt:$chan:timer_start)]} {
- if {[setting:get $chan anunt-showtime] != ""} {
- set time [setting:get $chan anunt-showtime]
- } else {
- set time $black(anunttime)
- }
- set scan_time [time_return_minute $time]
- set black(anunt:$chan:timer_start) $scan_time
- }
- }
- #end
- #idle
- if {[setting:get $chan idleop] || [setting:get $chan idlevoice] || [setting:get $chan idlehalfop]} {
- if {![info exists black(idle:$chan:timer_start)]} {
- if {[setting:get $chan idle-scantime] != ""} {
- set time [setting:get $chan idle-scantime]
- } else {
- set time $black(idleinterval)
- }
- set scan_time [time_return_minute $time]
- set black(idle:$chan:timer_start) $scan_time
- }
- }
- #end
- #VoiceOnMsg
- if {[setting:get $chan voiceonmsg]} {
- if {![info exists black(voiceonmsg:$chan:timer_start)]} {
- set black(voiceonmsg:$chan:timer_start) 1
- }
- }
- #end
- #Limit
- if {[setting:get $chan limit]} {
- if {![info exists black(limit:$chan:timer_start)]} {
- set black(limit:$chan:timer_start) 1
- }
- }
- #end
- #TopWords
- if {[setting:get $chan topwords]} {
- if {![info exists black(topwords:$chan:timer_start)]} {
- set black(topwords:$chan:timer_start) 1
- }
- }
- #end
- #quote
- if {[setting:get $chan quoteofday]} {
- if {![info exists black(quote:$chan:timer_start)]} {
- if {[setting:get $chan quote-showtime] != ""} {
- set time [setting:get $chan quote-showtime]
- } else {
- set time $black(quote:msgtime)
- }
- set scan_time [time_return_minute $time]
- set black(quote:$chan:timer_start) $scan_time
- }
- }
- #end
- }
- #Auto Unsuspend
- set status [s:status]
- if {$status == "1"} {
- if {![info exists black(s:timer_start)]} {
- set black(s:timer_start) 1
- }
- }
- #end
- #BanMethod Remove
- if {![info exists black(banmethod_rem:timer_start)]} {
- set black(banmethod_rem:timer_start) [time_return_minute $black(banmethod_memory_time)]
- }
- #end
- #AutoBroadcast
- if {[broadcast:check]} {
- if {![info exists black(broadcast:timer_start)]} {
- set scan_time [time_return_minute $black(bttime)]
- set black(broadcast:timer_start) $scan_time
- }
- }
- #end
- }
- #AutoUpdate Check
- if {$black(update_on) != 0} {
- if {![info exists black(update_check_start)]} {
- timer $black(update_time_check) blacktools:update:timer
- set black(update_check_start) 1
- }
- }
- #run by minute
- proc blacktools:timers:runtime {} {
- global black botnick
- set badchan_channels ""
- set clonescan_channels ""
- set antispam_channels ""
- set anunt_channels ""
- set idle_channels ""
- set voiceonmsg_channels ""
- set limit_channels ""
- set quote_channels ""
- set voiceme_channels ""
- set topwords_channels ""
- if {$black(antibotidle_status) == 1} {
- putserv "PRIVMSG ${botnick}\:X :none"
- }
- foreach chan [channels] {
- #badchan
- if {[info exists black(badchan:$chan:timer_start)]} {
- if {[setting:get $chan antibadchan]} {
- if {$black(badchan:$chan:timer_start) == "0"} {
- if {[setting:get $chan badchan-scantime] != ""} {
- set time [setting:get $chan badchan-scantime]
- } else {
- set time $black(badchan:scantime)
- }
- set scan_time [time_return_minute $time]
- set black(badchan:$chan:timer_start) $scan_time
- }
- if {![info exists black(badchan:counter:$chan)]} {
- set black(badchan:counter:$chan) 0
- }
- set black(badchan:counter:$chan) [expr $black(badchan:counter:$chan) + 1]
- if {$black(badchan:counter:$chan) > $black(badchan:$chan:timer_start)} {
- set black(badchan:counter:$chan) 0
- } elseif {$black(badchan:$chan:timer_start) < $black(badchan:counter:$chan)} {
- set black(badchan:counter:$chan) 0
- } elseif {$black(badchan:counter:$chan) == $black(badchan:$chan:timer_start)} {
- lappend badchan_channels $chan
- set black(badchan:counter:$chan) 0
- }
- }
- }
- #end
- #clonescan
- if {[info exists black(clonescan:$chan:timer_start)]} {
- if {[setting:get $chan clonescan]} {
- if {$black(clonescan:$chan:timer_start) == "0"} {
- if {[setting:get $chan clonescan-scantime] != ""} {
- set time [setting:get $chan clonescan-scantime]
- } else {
- set time $black(clonescantime)
- }
- set scan_time [time_return_minute $time]
- set black(clonescan:$chan:timer_start) $scan_time
- }
- if {![info exists black(clonescan:counter:$chan)]} {
- set black(clonescan:counter:$chan) 0
- }
- set black(clonescan:counter:$chan) [expr $black(clonescan:counter:$chan) + 1]
- if {$black(clonescan:counter:$chan) > $black(clonescan:$chan:timer_start)} {
- set black(clonescan:counter:$chan) 0
- } elseif {$black(clonescan:$chan:timer_start) < $black(clonescan:counter:$chan)} {
- set black(clonescan:counter:$chan) 0
- } elseif {$black(clonescan:counter:$chan) == $black(clonescan:$chan:timer_start)} {
- lappend clonescan_channels $chan
- set black(clonescan:counter:$chan) 0
- }
- }
- }
- #end
- #antispam
- if {[info exists black(antispam:$chan:timer_start)]} {
- if {[setting:get $chan antispam]} {
- if {$black(antispam:$chan:timer_start) == "0"} {
- if {[setting:get $chan antispam-scantime] != ""} {
- set time [setting:get $chan antispam-scantime]
- } else {
- set time $black(spamcycle)
- }
- set scan_time [time_return_minute $time]
- set black(antispam:$chan:timer_start) $scan_time
- }
- if {![info exists black(antispam:counter:$chan)]} {
- set black(antispam:counter:$chan) 0
- }
- set black(antispam:counter:$chan) [expr $black(antispam:counter:$chan) + 1]
- if {$black(antispam:counter:$chan) > $black(antispam:$chan:timer_start)} {
- set black(antispam:counter:$chan) 0
- } elseif {$black(antispam:$chan:timer_start) < $black(antispam:counter:$chan)} {
- set black(antispam:counter:$chan) 0
- } elseif {$black(antispam:counter:$chan) == $black(antispam:$chan:timer_start)} {
- lappend antispam_channels $chan
- set black(antispam:counter:$chan) 0
- }
- }
- }
- #end
- #anunt
- if {[info exists black(anunt:$chan:timer_start)]} {
- if {[setting:get $chan anunt]} {
- if {$black(anunt:$chan:timer_start) == "0"} {
- if {[setting:get $chan anunt-showtime] != ""} {
- set time [setting:get $chan anunt-showtime]
- } else {
- set time $black(anunttime)
- }
- set scan_time [time_return_minute $time]
- set black(anunt:$chan:timer_start) $scan_time
- }
- if {![info exists black(anunt:counter:$chan)]} {
- set black(anunt:counter:$chan) 0
- }
- set black(anunt:counter:$chan) [expr $black(anunt:counter:$chan) + 1]
- if {$black(anunt:counter:$chan) > $black(anunt:$chan:timer_start)} {
- set black(anunt:counter:$chan) 0
- } elseif {$black(anunt:$chan:timer_start) < $black(anunt:counter:$chan)} {
- set black(anunt:counter:$chan) 0
- } elseif {$black(anunt:counter:$chan) == $black(anunt:$chan:timer_start)} {
- lappend anunt_channels $chan
- set black(anunt:counter:$chan) 0
- }
- }
- }
- #end
- #Quote
- if {[info exists black(quote:$chan:timer_start)]} {
- if {[setting:get $chan quoteofday]} {
- if {$black(quote:$chan:timer_start) == "0"} {
- if {[setting:get $chan quote-showtime] != ""} {
- set time [setting:get $chan quote-showtime]
- } else {
- set time $black(quote:msgtime)
- }
- set scan_time [time_return_minute $time]
- set black(quote:$chan:timer_start) $scan_time
- }
- if {![info exists black(quote:counter:$chan)]} {
- set black(quote:counter:$chan) 0
- }
- set black(quote:counter:$chan) [expr $black(quote:counter:$chan) + 1]
- if {$black(quote:counter:$chan) > $black(quote:$chan:timer_start)} {
- set black(quote:counter:$chan) 0
- } elseif {$black(quote:$chan:timer_start) < $black(quote:counter:$chan)} {
- set black(quote:counter:$chan) 0
- } elseif {$black(quote:counter:$chan) == $black(quote:$chan:timer_start)} {
- lappend quote_channels $chan
- set black(quote:counter:$chan) 0
- }
- }
- }
- #end
- #voiceme
- if {[info exists black(voiceme:$chan:timer_start)]} {
- if {$black(voiceme:$chan:timer_start) == "0"} {
- if {[setting:get $chan voiceme-showtime] != ""} {
- set time [setting:get $chan voiceme-showtime]
- } else {
- set time $black(voiceme:msgtime)
- }
- set scan_time [time_return_minute $time]
- set black(voiceme:$chan:timer_start) $scan_time
- }
- if {![info exists black(voiceme:counter:$chan)]} {
- set black(voiceme:counter:$chan) 0
- }
- set black(voiceme:counter:$chan) [expr $black(voiceme:counter:$chan) + 1]
-
- if {$black(voiceme:counter:$chan) > $black(voiceme:$chan:timer_start)} {
- set black(voiceme:counter:$chan) 0
- } elseif {$black(voiceme:$chan:timer_start) < $black(voiceme:counter:$chan)} {
- set black(voiceme:counter:$chan) 0
- } elseif {$black(voiceme:counter:$chan) == $black(voiceme:$chan:timer_start)} {
- lappend voiceme_channels $chan
- set black(voiceme:counter:$chan) 0
- }
- }
- #
- #VoiceOnMsg
- if {[info exists black(voiceonmsg:$chan:timer_start)]} {
- if {[setting:get $chan voiceonmsg]} {
- lappend voiceonmsg_channels $chan
- }
- }
- #end
- #Limit
- if {[info exists black(limit:$chan:timer_start)]} {
- if {[setting:get $chan limit]} {
- lappend limit_channels $chan
- }
- }
- #end
- #TopWOrds
- if {[info exists black(topwords:$chan:timer_start)]} {
- if {[setting:get $chan topwords]} {
- lappend topwords_channels $chan
- }
- }
- #end
- #idle
- if {[info exists black(idle:$chan:timer_start)]} {
- set options {idleop idlevoice idlehalfop}
- set idle_activ 0
- foreach option $options {
- if {[setting:get $chan $option]} {
- set idle_activ 1
- }
- }
- if {$idle_activ == "1"} {
- if {$black(idle:$chan:timer_start) == "0"} {
- if {[setting:get $chan idle-scantime] != ""} {
- set time [setting:get $chan idle-scantime]
- } else {
- set time $black(idleinterval)
- }
- set scan_time [time_return_minute $time]
- set black(idle:$chan:timer_start) $scan_time
- }
- if {![info exists black(idle:counter:$chan)]} {
- set black(idle:counter:$chan) 0
- }
- set black(idle:counter:$chan) [expr $black(idle:counter:$chan) + 1]
- if {$black(idle:counter:$chan) > $black(idle:$chan:timer_start)} {
- set black(idle:counter:$chan) 0
- } elseif {$black(idle:$chan:timer_start) < $black(idle:counter:$chan)} {
- set black(idle:counter:$chan) 0
- } elseif {$black(idle:counter:$chan) == $black(idle:$chan:timer_start)} {
- lappend idle_channels $chan
- set black(idle:counter:$chan) 0
- }
- }
- }
- #end
- }
-
- #banmethod remove
- if {[info exists black(banmethod_rem:timer_start)]} {
- if {![info exists black(banmethod_rem:counter)]} {
- set black(banmethod_rem:counter) 0
- }
- set black(banmethod_rem:counter) [expr $black(banmethod_rem:counter) + 1]
- if {$black(banmethod_rem:counter) > $black(banmethod_rem:timer_start)} {
- set black(banmethod_rem:counter) 0
- } elseif {$black(banmethod_rem:timer_start) < $black(banmethod_rem:counter)} {
- set black(broadcast:counter) 0
- } elseif {$black(banmethod_rem:counter) == $black(banmethod_rem:timer_start)} {
- set black(banmethod_rem:counter) 0
- banmethod_memory:autoremove
- }
- }
- #end
-
- #Auto Unsuspend
- if {[info exists black(s:timer_start)]} {
- s:process:timer
- }
- #end
-
- #AutoBroadcast
- if {[info exists black(broadcast:timer_start)]} {
- if {![info exists black(broadcast:counter)]} {
- set black(broadcast:counter) 0
- }
- set black(broadcast:counter) [expr $black(broadcast:counter) + 1]
- if {$black(broadcast:counter) > $black(broadcast:timer_start)} {
- set black(broadcast:counter) 0
- } elseif {$black(broadcast:timer_start) < $black(broadcast:counter)} {
- set black(broadcast:counter) 0
- } elseif {$black(broadcast:counter) == $black(broadcast:timer_start)} {
- set black(broadcast:counter) 0
- broadcastpublic:show
- }
- }
- #Away Check
- if {![info exists black(away:timer_start)]} {
- set black(away:timer_start) 720
- }
- if {![info exists black(counter:away)]} {
- set black(counter:away) 0
- }
- set black(counter:away) [expr $black(counter:away) + 1]
- if {$black(counter:away) > $black(away:timer_start)} {
- set black(counter:away) 0
- } elseif {$black(away:timer_start) < $black(counter:away)} {
- set black(counter:away) 0
- } elseif {$black(counter:away) == $black(away:timer_start)} {
- set black(counter:away) 0
- away:timer
- }
- #end
- if {$badchan_channels != ""} {
- badchan:scantimer [join $badchan_channels]
- }
- if {$clonescan_channels != ""} {
- clonescan:timer [join $clonescan_channels]
- }
- if {$antispam_channels != ""} {
- antispam:protect:cycle [join $antispam_channels]
- }
- if {$anunt_channels != ""} {
- anuntpublic:show [join $anunt_channels]
- }
- if {$idle_channels != ""} {
- antidle:module [join $idle_channels]
- }
- if {$voiceonmsg_channels != ""} {
- voiceonmsg:timer [join $voiceonmsg_channels]
- }
- if {$limit_channels != ""} {
- limit:timer [join $limit_channels]
- }
- if {$quote_channels != ""} {
- quote:announce [join $quote_channels]
- }
- if {$voiceme_channels != ""} {
- voiceme:showmsg_timer [join $voiceme_channels]
- }
- if {$topwords_channels != ""} {
- topwords:save:channels [join $topwords_channels]
- }
- timer 1 blacktools:timers:runtime
- }
- #################
- ###########################################################################
- ## END ##
- ###########################################################################
|