Максимальное количество ожидающих запросов в очереди для одного ключа (по умолчанию 100). При превышении очередь перестаёт принимать новые запросы и выбрасывается исключение.
Время в миллисекундах, после которого запись (очередь + счётчик) удаляется, если не было активности. По умолчанию 60000 (1 минута).
Middleware-функцию для использования в bot.use().
Создаёт middleware для ограничения частоты входящих запросов (rate limiting) на уровне платформы.
Для чего используется: Некоторые платформы (например, Max, Telegram, VK, Viber — их адаптеры задают
limit = 30) имеют ограничение на количество отправляемых запросов в секунду. Данный middleware защищает от превышения этого лимита, автоматически задерживая запросы, если они поступают слишком часто.Как это работает:
limitадаптера платформы (platformAdapter.limit). Если свойство не задано или равно 0, ограничение не применяется.{platform}:{userId}ведётся отдельная очередь и счётчик запросов.maxQueueSize); при переполнении выбрасывается исключение RateLimitQueueOverflowError, а вctx.platformOptions.rateLimitOverflowвыставляется флаг: исключение перехватывается ядром как «обработка прервана» (платформа получит 200), поэтому флаг — способ понять, что запрос отклонён из-за перегрузки.inactivityTimeout) автоматически удаляются из памяти.Важные особенности:
{platform}:{userId}, то есть ограничивается частота запросов одного пользователя, а не суммарная нагрузка на бота.bot.use(rateLimiter()).unref(), поэтому не блокируют завершение процесса.