Logic · Step
Rate limit
Allow something a set number of times in a window, like 5 per minute per member.
logic.rate_limit
In a flow
“When a button is clicked, rate limit.”
5 per 60 s → the 6th use in a minute is not allowed
What it does
Allow something a set number of times in a window, like 5 per minute per member. It's a step: it runs when the white wire reaches it, then the flow carries on from its Then pin. It gives 3 values later steps can use. Find it under Logic in the palette.
When to use it
Use it to decide what happens next: allow something a set number of times in a window, like 5 per minute per member.
When not to
If nothing should change in Discord, a value node or a check is lighter.
Typical wiring
Sockets: settings you can wire
- Whose Member
-
With Counted per = member: whose count, like the moderator from Look up audit log's By (antinuke). Unwired: whoever started the flow.
What goes there: Type it in the side panel, or wire in a member. e.g. @Alex
If it's empty: Optional. Left empty and unwired, the step runs without it.
Connects fromAccept applicationApplication infoAsk a questionAsk follow-upBoard as emojiCall the next in the queueCase createdCheck for a lineand 87 more
- Times Number
-
How many uses are allowed in the window, like 5. At most 100.
What goes there: Type it in the side panel, or wire in a number. e.g. 42
If it's empty: Optional. Left empty and unwired, it uses 5.
Connects fromA member's variablesAccept applicationActive membersAddAdd a forum tagAdd a labelAdd a row to a Google SheetAdd a staff noteand 500 more
- Window (seconds) Number
-
How long the window is, like 60 for a minute. At most 7 days.
What goes there: Type it in the side panel, or wire in a number. e.g. 42
If it's empty: Optional. Left empty and unwired, it uses 60.
Connects fromA member's variablesAccept applicationActive membersAddAdd a forum tagAdd a labelAdd a row to a Google SheetAdd a staff noteand 500 more
Values it gives
- Allowed Yes / no
-
True when this use fits in the limit (it is counted). e.g. true
If it's empty: Empty when the step didn't make one (it stopped early or was skipped); steps reading it get nothing.
Connects toAdd a forum tagAdd onboarding questionAdd to a counterAlarms that are dueAndAutoMod: Discord's word listsBluesky latest postBoard as emojiand 573 more
- Uses left Number
-
How many more uses fit in the window. e.g. 42
If it's empty: Empty when the step didn't make one (it stopped early or was skipped); steps reading it get nothing.
Connects toAccount ageActive membersAddAdd answer to formAdd soundboard soundAdd timeAdd to a counterAdd to a leaderboardand 718 more
- Resets in Number
-
Seconds until a use frees up, 0 when one is free. e.g. 42
If it's empty: Empty when the step didn't make one (it stopped early or was skipped); steps reading it get nothing.
Connects toAccount ageActive membersAddAdd answer to formAdd soundboard soundAdd timeAdd to a counterAdd to a leaderboardand 718 more
Shortcuts
- Rate limit with replyRate limit → If / else in a row can be this one element.