namespace BotPages.Core { /// /// Middleware троттлинга для ограничений нагрузки. /// public sealed class ThrottleMiddleware : IUpdateMiddleware { private readonly TimeSpan _delay; /// /// Создаёт middleware троттлинга. /// public ThrottleMiddleware(TimeSpan delay) => _delay = delay; /// /// Добавляет искусственную задержку перед продолжением обработки. /// public async Task InvokeAsync(UpdateContext ctx, Func next, CancellationToken ct) { await Task.Delay(_delay, ct); await next(); } } }