From 0da486a61b0c9d789ccc4cc023a1956dae76b715 Mon Sep 17 00:00:00 2001 From: Jicheng Lu Date: Tue, 8 Jul 2025 20:30:08 -0500 Subject: [PATCH] detour rate limit --- .../BotSharp.Logger/Hooks/RateLimitConversationHook.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Infrastructure/BotSharp.Logger/Hooks/RateLimitConversationHook.cs b/src/Infrastructure/BotSharp.Logger/Hooks/RateLimitConversationHook.cs index 97308f695..4752f6d61 100644 --- a/src/Infrastructure/BotSharp.Logger/Hooks/RateLimitConversationHook.cs +++ b/src/Infrastructure/BotSharp.Logger/Hooks/RateLimitConversationHook.cs @@ -25,7 +25,10 @@ public RateLimitConversationHook(IServiceProvider services, ILogger(); + var states = _services.GetRequiredService(); + var rateLimit = settings.RateLimit; + var channel = states.GetState("channel"); // Check max input length var charCount = message.Content.Length; @@ -45,7 +48,7 @@ public override async Task OnMessageReceived(RoleDialogModel message) var userSents = Dialogs.Where(x => x.Role == AgentRole.User) .TakeLast(2).ToList(); - if (userSents.Count > 1) + if (channel != ConversationChannel.Phone && userSents.Count > 1) { var seconds = (DateTime.UtcNow - userSents.First().CreatedAt).TotalSeconds; if (seconds < rateLimit.MinTimeSecondsBetweenMessages) @@ -56,9 +59,6 @@ public override async Task OnMessageReceived(RoleDialogModel message) } } - var states = _services.GetRequiredService(); - var channel = states.GetState("channel"); - // Check the number of conversations if (channel != ConversationChannel.Phone && channel != ConversationChannel.Email && channel != ConversationChannel.Database) {