diff options
Diffstat (limited to 'packages/gateway')
| -rw-r--r-- | packages/gateway/src/listeners/messageCreate/personaRandomMessage.ts | 11 |
1 files changed, 7 insertions, 4 deletions
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(); |