From 0d4cf78468543f7c615de3cb6c5f5376872e28d6 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Fri, 10 Oct 2025 14:06:45 -0700 Subject: fix(gateway:prm): Improve message interval --- .../src/listeners/messageCreate/personaRandomMessage.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'packages/gateway') diff --git a/packages/gateway/src/listeners/messageCreate/personaRandomMessage.ts b/packages/gateway/src/listeners/messageCreate/personaRandomMessage.ts index f0ca3be..e23d68e 100644 --- a/packages/gateway/src/listeners/messageCreate/personaRandomMessage.ts +++ b/packages/gateway/src/listeners/messageCreate/personaRandomMessage.ts @@ -11,6 +11,7 @@ const MESSAGE_THRESHOLD = 250; interface PersonaMessageTracker { messageCount: number; lastRandomMessageTime: number; + lastUserMessageTime: number; isActive: boolean; } @@ -18,6 +19,7 @@ class PersonaRandomMessageSystem { private tracker: PersonaMessageTracker = { messageCount: 0, lastRandomMessageTime: 0, + lastUserMessageTime: 0, isActive: false, }; private webhookClient: WebhookClient | null = null; @@ -98,12 +100,13 @@ class PersonaRandomMessageSystem { if (message.author.bot) return; - this.tracker.messageCount += 1; - const now = Date.now(); - const timeSinceLastMessage = now - this.tracker.lastRandomMessageTime; + const timeSinceLastUserMessage = now - this.tracker.lastUserMessageTime; const fiveMinutes = 5 * 60 * 1000; - const isChannelActive = timeSinceLastMessage < fiveMinutes; + const isChannelActive = timeSinceLastUserMessage < fiveMinutes; + + this.tracker.messageCount += 1; + this.tracker.lastUserMessageTime = now; if (this.tracker.messageCount >= MESSAGE_THRESHOLD && isChannelActive) await this.sendRandomPersonaMessage(); -- cgit v1.2.3