summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-10-10 11:48:55 -0700
committerFuwn <[email protected]>2025-10-10 11:48:55 -0700
commiteeb6bee6f31fbfcc53075da35a318e0ae18e11cc (patch)
tree5ae92d84255e3144e606c333dea0d179e5eb8361
parentstyle(gateway): Stylise (diff)
downloadumabotdiscord-eeb6bee6f31fbfcc53075da35a318e0ae18e11cc.tar.xz
umabotdiscord-eeb6bee6f31fbfcc53075da35a318e0ae18e11cc.zip
feat(gateway): Update logging of persona messages and reactions
-rw-r--r--packages/gateway/src/commands/utilities.ts16
-rw-r--r--packages/gateway/src/listeners/messageCreate/dailyConversationStarter.ts19
-rw-r--r--packages/gateway/src/listeners/messageCreate/personaRandomMessage.ts19
3 files changed, 35 insertions, 19 deletions
diff --git a/packages/gateway/src/commands/utilities.ts b/packages/gateway/src/commands/utilities.ts
index b4d32ba..d6ec548 100644
--- a/packages/gateway/src/commands/utilities.ts
+++ b/packages/gateway/src/commands/utilities.ts
@@ -481,6 +481,7 @@ export const sendPersonaLog = async (
personaName: string,
messageLink?: string,
isPrimer: boolean = false,
+ sentMessageLink?: string,
): Promise<void> => {
try {
const logChannelId = "1426269876569509968";
@@ -519,12 +520,25 @@ export const sendPersonaLog = async (
)
.setTimestamp();
- if (messageLink && !isPrimer)
+ if (isPrimer && sentMessageLink) {
+ embed.addFields({
+ name: "Sent Message",
+ value: `[Click to view](${sentMessageLink})`,
+ inline: false,
+ });
+ } else if (type === "reaction" && messageLink) {
embed.addFields({
name: "Trigger Message",
value: `[Click to view](${messageLink})`,
inline: false,
});
+ } else if (sentMessageLink) {
+ embed.addFields({
+ name: "Sent Message",
+ value: `[Click to view](${sentMessageLink})`,
+ inline: false,
+ });
+ }
await (channel as any).send({ embeds: [embed] });
} catch (error) {
diff --git a/packages/gateway/src/listeners/messageCreate/dailyConversationStarter.ts b/packages/gateway/src/listeners/messageCreate/dailyConversationStarter.ts
index 5ee0405..1f0c80a 100644
--- a/packages/gateway/src/listeners/messageCreate/dailyConversationStarter.ts
+++ b/packages/gateway/src/listeners/messageCreate/dailyConversationStarter.ts
@@ -74,13 +74,16 @@ class DailyConversationStarterSystem {
return;
}
- await this.webhookClient.send(formattedMessage);
+ const sentMessage = await this.webhookClient.send(formattedMessage);
+ const sentMessageLink = `https://discord.com/channels/${this.client!.guilds.cache.first()?.id}/${TARGET_CHANNEL_ID}/${sentMessage.id}`;
+
await sendPersonaLog(
this.client!,
"conversation",
randomPersona.name,
undefined,
true,
+ sentMessageLink,
);
this.tracker.lastMessageTime = Date.now();
@@ -108,13 +111,11 @@ class DailyConversationStarterSystem {
const minIntervalMs = MIN_HOURS_BETWEEN_MESSAGES * 60 * 60 * 1000;
if (timeSinceLastMessage >= minIntervalMs) {
- await this.sendRandomConversationStarter(message);
+ await this.sendRandomConversationStarter();
}
}
- private async sendRandomConversationStarter(
- triggerMessage: Message,
- ): Promise<void> {
+ private async sendRandomConversationStarter(): Promise<void> {
try {
const randomPersona =
UMA_PERSONAS[Math.floor(Math.random() * UMA_PERSONAS.length)];
@@ -134,16 +135,16 @@ class DailyConversationStarterSystem {
return;
}
- await this.webhookClient.send(formattedMessage);
-
- const messageLink = `https://discord.com/channels/${triggerMessage.guildId}/${triggerMessage.channelId}/${triggerMessage.id}`;
+ const sentMessage = await this.webhookClient.send(formattedMessage);
+ const sentMessageLink = `https://discord.com/channels/${this.client!.guilds.cache.first()?.id}/${TARGET_CHANNEL_ID}/${sentMessage.id}`;
await sendPersonaLog(
this.client!,
"conversation",
randomPersona.name,
- messageLink,
+ undefined,
false,
+ sentMessageLink,
);
this.tracker.lastMessageTime = Date.now();
diff --git a/packages/gateway/src/listeners/messageCreate/personaRandomMessage.ts b/packages/gateway/src/listeners/messageCreate/personaRandomMessage.ts
index 827925d..f0ca3be 100644
--- a/packages/gateway/src/listeners/messageCreate/personaRandomMessage.ts
+++ b/packages/gateway/src/listeners/messageCreate/personaRandomMessage.ts
@@ -74,13 +74,16 @@ class PersonaRandomMessageSystem {
return;
}
- await this.webhookClient.send(formattedMessage);
+ const sentMessage = await this.webhookClient.send(formattedMessage);
+ const sentMessageLink = `https://discord.com/channels/${this.client!.guilds.cache.first()?.id}/${TARGET_CHANNEL_ID}/${sentMessage.id}`;
+
await sendPersonaLog(
this.client!,
"persona",
randomPersona.name,
undefined,
true,
+ sentMessageLink,
);
await this.cleanupWebhook();
} catch (error) {
@@ -103,12 +106,10 @@ class PersonaRandomMessageSystem {
const isChannelActive = timeSinceLastMessage < fiveMinutes;
if (this.tracker.messageCount >= MESSAGE_THRESHOLD && isChannelActive)
- await this.sendRandomPersonaMessage(message);
+ await this.sendRandomPersonaMessage();
}
- private async sendRandomPersonaMessage(
- triggerMessage: Message,
- ): Promise<void> {
+ private async sendRandomPersonaMessage(): Promise<void> {
try {
const randomPersona =
UMA_PERSONAS[Math.floor(Math.random() * UMA_PERSONAS.length)];
@@ -126,16 +127,16 @@ class PersonaRandomMessageSystem {
return;
}
- await this.webhookClient.send(formattedMessage);
-
- const messageLink = `https://discord.com/channels/${triggerMessage.guildId}/${triggerMessage.channelId}/${triggerMessage.id}`;
+ const sentMessage = await this.webhookClient.send(formattedMessage);
+ const sentMessageLink = `https://discord.com/channels/${this.client!.guilds.cache.first()?.id}/${TARGET_CHANNEL_ID}/${sentMessage.id}`;
await sendPersonaLog(
this.client!,
"persona",
randomPersona.name,
- messageLink,
+ undefined,
false,
+ sentMessageLink,
);
this.tracker.messageCount = 0;