Ratelimit
Object for handling ratelimits intuitively
luau
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ratelmit = require("ratelimit")
local check_limit = ratelimit(10, 60)
local event = Instance.new("RemoteEvent")
event.Parent = ReplicatedStorage
event.OnClientEvent:Connect(function(player, ...)
if check_limit(player) then
-- do stuff
end
end)Constructor
Creates a new ratelimit object, with limit being the amount of times a key can be called every interval seconds.
TIP
The limit is inclusive, use the maximum amount of calls you want to allow as the limit.
luau
local check_limit = ratelimit(10, 60)Methods
__call
Checks if a given key's count has exceeded the limit within the current interval
NOTE
The key arg isn't required, as ratelimit will use a default key instead
luau
local check_limit = ratelimit(10, 60)
check_limit("meow")Properties
count_map
A map with keys, with their values being the count for the specified key
luau
type count_map<K> = { [K]: number }limit
The limit for the ratelimit object
luau
type limit = numberinterval
The interval for the ratelimit object
luau
type interval = number