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) {