Parcourir la source

Update BT.Timers.tcl

idleban setting added
BLaCkShaDoW il y a 1 an
Parent
commit
723f3e8c48
1 fichiers modifiés avec 517 ajouts et 0 suppressions
  1. 517 0
      BlackTools/BT.Timers.tcl

+ 517 - 0
BlackTools/BT.Timers.tcl

@@ -14,6 +14,24 @@
 ##					                               ##
 #########################################################################
 
+proc blacktools:timers:load {chan} {
+	global black
+if {[validchan $chan]} {#########################################################################
+##          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]} {
@@ -73,6 +91,505 @@ if {[setting:get $chan anunt-showtime] != ""} {
 		}
 #end
 
+#idle
+if {[setting:get $chan idleop] || [setting:get $chan idlevoice] || [setting:get $chan idlehalfop] || [setting:get $chan idleban]} {
+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 idleban}
+	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                                                                 ##
+###########################################################################
+#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)]} {