rateLimit

fun rateLimit(group: String, bucketFactory: BucketFactory, limiterFactory: RateLimiterFactory = RateLimiter.defaultFactory(RateLimitScope.USER), block: ReceiverConsumer<RateLimitBuilder> = ReceiverConsumer.noop()): RateLimitInfo(source)

Creates a rate limiter with the specified group.

The created rate limiter can be used in CommandBuilder.rateLimitReference and @RateLimitReference.

Parameters

group

The name of the rate limiter

bucketFactory

The bucket factory to use in RateLimiterFactory

limiterFactory

The RateLimiter factory in charge of handling buckets and rate limits

block

Further configures the RateLimitBuilder

Throws

If a rate limiter with the same group exists