Rate-limit a trigger
The Rate limit section of an event trigger controls how often it can execute. Two independent controls work together: a cooldown (minimum gap between executions) and a threshold (require N events in a window before firing).
See every field in the Rate limit reference.
Cooldown — at most once every N seconds
Section titled “Cooldown — at most once every N seconds”The first row in the Rate limit section reads: At most once every [n] sec.
Enter the minimum number of seconds that must pass after the trigger fires before it can fire again. Set 0 to disable the cooldown.
Example: 60 — no matter how many chat messages match, the trigger runs at most once per minute.
Threshold — require N events before firing
Section titled “Threshold — require N events before firing”The second row reads: Only after [count] times in [window] sec, per [scope].
| Control | What it sets |
|---|---|
| count | How many matching events must occur in the window before the trigger fires |
| window | The rolling window in seconds in which events are counted |
| per | Counter scope — see below |
per has two options:
- Whole trigger — one global counter for all events. Use this to cap the trigger regardless of who caused the event.
- Per player — a separate counter per player. Use this for escalation rules, such as ban-after-N-teamkills.
Set count to 1 and window to 0 to disable the threshold and fire on the first match.
Example: count 3, window 300, per Per player — the trigger fires only after a player generates 3 matching events within 5 minutes.
Default means no rate limit
Section titled “Default means no rate limit”The hint in the editor reads: 0 cooldown and 1 time = no rate limit. Those are the defaults for every new trigger. You only need to change them if you want to suppress repeated firing.
Combining cooldown and threshold
Section titled “Combining cooldown and threshold”Both controls apply independently. If you set a 60-second cooldown AND a threshold of 3 in 300 seconds, the trigger fires only when both conditions are satisfied: the threshold has been reached and at least 60 seconds have passed since the last execution.