diff options
Diffstat (limited to 'packages')
4 files changed, 65 insertions, 8 deletions
diff --git a/packages/gateway/src/commands/utilities.ts b/packages/gateway/src/commands/utilities.ts index 19f9e90..b109bdb 100644 --- a/packages/gateway/src/commands/utilities.ts +++ b/packages/gateway/src/commands/utilities.ts @@ -475,6 +475,63 @@ export const getAllChannelsInCategory = async ( return { channels, channelNames }; }; +export const sendPersonaLog = async ( + client: Client, + type: "persona" | "conversation" | "reaction", + personaName: string, + messageLink?: string, + isPrimer: boolean = false, +): Promise<void> => { + try { + const logChannelId = "1426269876569509968"; + const channel = client.channels.cache.get(logChannelId); + + if (!channel || !("send" in channel)) return; + + const { EmbedBuilder } = await import("discord.js"); + + const embed = new EmbedBuilder() + .setTitle( + type === "persona" + ? "🎠Persona Message" + : type === "conversation" + ? "💬 Conversation Starter" + : "👀 Random Reaction" + ) + .setColor( + type === "persona" + ? "#ff6b6b" + : type === "conversation" + ? "#4ecdc4" + : "#ffd93d" + ) + .addFields( + { + name: "Persona", + value: personaName, + inline: true, + }, + { + name: "Type", + value: isPrimer ? "Primer Message" : "Regular Message", + inline: true, + } + ) + .setTimestamp(); + + if (messageLink && !isPrimer) + embed.addFields({ + name: "Trigger Message", + value: `[Click to view](${messageLink})`, + inline: false, + }); + + await (channel as any).send({ embeds: [embed] }); + } catch (error) { + console.error("Failed to send persona log:", error); + } +}; + export const executeBulkRoleAssignment = async ( client: Client, roleId: string, diff --git a/packages/gateway/src/listeners/messageCreate/dailyConversationStarter.ts b/packages/gateway/src/listeners/messageCreate/dailyConversationStarter.ts index 4eb8cab..268c19d 100644 --- a/packages/gateway/src/listeners/messageCreate/dailyConversationStarter.ts +++ b/packages/gateway/src/listeners/messageCreate/dailyConversationStarter.ts @@ -1,5 +1,6 @@ import { Message, WebhookClient, Client } from "discord.js"; import { UMA_PERSONAS } from "../../constants"; +import { sendPersonaLog } from "../../commands/utilities"; const ENABLED_PRIMER_MESSAGE = false; const TARGET_CHANNEL_ID = "1406422619087044675"; @@ -92,7 +93,7 @@ class DailyConversationStarterSystem { } await this.webhookClient.send(formattedMessage); - console.log(`💬 Primer conversation starter sent by ${randomPersona.name}`); + await sendPersonaLog(this.client!, "conversation", randomPersona.name, undefined, true); this.tracker.lastMessageTime = Date.now(); @@ -152,7 +153,7 @@ class DailyConversationStarterSystem { const messageLink = `https://discord.com/channels/${triggerMessage.guildId}/${triggerMessage.channelId}/${triggerMessage.id}`; - console.log(`💬 Conversation starter sent by ${randomPersona.name}: ${messageLink}`); + await sendPersonaLog(this.client!, "conversation", randomPersona.name, messageLink, false); this.tracker.lastMessageTime = Date.now(); diff --git a/packages/gateway/src/listeners/messageCreate/personaRandomMessage.ts b/packages/gateway/src/listeners/messageCreate/personaRandomMessage.ts index 51f697a..13b000b 100644 --- a/packages/gateway/src/listeners/messageCreate/personaRandomMessage.ts +++ b/packages/gateway/src/listeners/messageCreate/personaRandomMessage.ts @@ -1,5 +1,6 @@ import { Message, WebhookClient, Client } from "discord.js"; import { UMA_PERSONAS } from "../../constants"; +import { sendPersonaLog } from "../../commands/utilities"; const ENABLED_PRIMER_MESSAGE = false; const TARGET_CHANNEL_ID = "1410333697701314791"; @@ -85,9 +86,7 @@ class PersonaRandomMessageSystem { } await this.webhookClient.send(formattedMessage); - - console.log(`🎠Primer persona message sent by ${randomPersona.name}`); - + await sendPersonaLog(this.client!, "persona", randomPersona.name, undefined, true); await this.cleanupWebhook(); } catch (error) { console.error("Failed to send primer persona message:", error); @@ -137,7 +136,7 @@ class PersonaRandomMessageSystem { const messageLink = `https://discord.com/channels/${triggerMessage.guildId}/${triggerMessage.channelId}/${triggerMessage.id}`; - console.log(`🎠Persona message sent by ${randomPersona.name}: ${messageLink}`); + await sendPersonaLog(this.client!, "persona", randomPersona.name, messageLink, false); this.tracker.messageCount = 0; this.tracker.lastRandomMessageTime = Date.now(); diff --git a/packages/gateway/src/listeners/messageCreate/randomEyesReaction.ts b/packages/gateway/src/listeners/messageCreate/randomEyesReaction.ts index 89966f9..5a7ddfd 100644 --- a/packages/gateway/src/listeners/messageCreate/randomEyesReaction.ts +++ b/packages/gateway/src/listeners/messageCreate/randomEyesReaction.ts @@ -4,6 +4,7 @@ import { CENTRAL_GENERAL_CHANNEL_ID, CENTRAL_UMABOT_CHANNEL_ID, } from "../../constants"; +import { sendPersonaLog } from "../../commands/utilities"; const EYES_REACTION_CHANNELS = [ CENTRAL_ART_MEDIA_CHANNEL_ID, @@ -22,8 +23,7 @@ export const handleRandomEyesReaction = async (message: Message) => { await message.react("👀"); const messageLink = `https://discord.com/channels/${message.guildId}/${message.channelId}/${message.id}`; - - console.log(`👀 Random reaction added to message: ${messageLink}`); + await sendPersonaLog(message.client, "reaction", "Bot", messageLink, false); } catch (error) { console.error("Failed to add :eyes: reaction:", error); } |