summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-10-10 14:06:45 -0700
committerFuwn <[email protected]>2025-10-10 14:06:45 -0700
commit0d4cf78468543f7c615de3cb6c5f5376872e28d6 (patch)
tree31f1beb2feaab2173ceef1cb2b3879bba70e0582
parentfeat(gateway): Update logging of persona messages and reactions (diff)
downloadumabotdiscord-0d4cf78468543f7c615de3cb6c5f5376872e28d6.tar.xz
umabotdiscord-0d4cf78468543f7c615de3cb6c5f5376872e28d6.zip
fix(gateway:prm): Improve message interval
-rw-r--r--packages/gateway/src/listeners/messageCreate/personaRandomMessage.ts11
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();