From 6d725b73dbc1d0a9bdb7d4e9a4e9bdeb9945af6c Mon Sep 17 00:00:00 2001 From: syntaxbullet Date: Wed, 24 Dec 2025 17:54:56 +0100 Subject: [PATCH] feat: Add `MessageFlags.IsComponentsV2` to terminal message updates and remove redundant `SectionBuilder` wrappers. --- src/modules/terminal/terminal.service.ts | 46 +++++++++++------------- 1 file changed, 21 insertions(+), 25 deletions(-) diff --git a/src/modules/terminal/terminal.service.ts b/src/modules/terminal/terminal.service.ts index cdf2db6..aa21df3 100644 --- a/src/modules/terminal/terminal.service.ts +++ b/src/modules/terminal/terminal.service.ts @@ -1,4 +1,4 @@ -import { TextChannel, Message, ContainerBuilder, TextDisplayBuilder, SectionBuilder } from "discord.js"; +import { TextChannel, Message, ContainerBuilder, TextDisplayBuilder, SectionBuilder, MessageFlags } from "discord.js"; import { AuroraClient } from "@/lib/BotClient"; import { DrizzleClient } from "@/lib/DrizzleClient"; import { users, transactions, lootdrops } from "@/db/schema"; @@ -68,9 +68,13 @@ export const terminalService = { if (!message) return; const containers = await terminalService.buildMessage(); - // Using 'components' as containers are likely treated as a type of component layout - // This fits the discord.js pattern even if types are experimental - await message.edit({ content: "", components: containers as any, embeds: [] }); + + // Should be using 'components' for containers + await message.edit({ + content: null, + components: containers as any, + flags: MessageFlags.IsComponentsV2 + }); } catch (error) { console.error("Failed to update terminal:", error); @@ -111,11 +115,9 @@ export const terminalService = { // --- CONTAINER 1: Header --- const headerContainer = new ContainerBuilder() .setAccentColor(0x00ff99) - .addSectionComponents( - new SectionBuilder().addTextDisplayComponents( - new TextDisplayBuilder().setContent("# 🌌 AURORA OBSERVATORY"), - new TextDisplayBuilder().setContent("*Current Moon Phase: Waxing Crescent 🌒*") - ) + .addTextDisplayComponents( + new TextDisplayBuilder().setContent("# 🌌 AURORA OBSERVATORY"), + new TextDisplayBuilder().setContent("*Current Moon Phase: Waxing Crescent 🌒*") ); // --- CONTAINER 2: Observation Log --- @@ -131,21 +133,17 @@ export const terminalService = { } const logContainer = new ContainerBuilder() - .addSectionComponents( - new SectionBuilder().addTextDisplayComponents( - new TextDisplayBuilder().setContent("## 🔭 OBSERVATION LOG"), - new TextDisplayBuilder().setContent(`> **Stargazers**: \`${totalUsers}\`\n> **Astral Wealth**: \`${totalWealth.toLocaleString()} AU\`${phenomenaContent}`) - ) + .addTextDisplayComponents( + new TextDisplayBuilder().setContent("## 🔭 OBSERVATION LOG"), + new TextDisplayBuilder().setContent(`> **Stargazers**: \`${totalUsers}\`\n> **Astral Wealth**: \`${totalWealth.toLocaleString()} AU\`${phenomenaContent}`) ); // --- CONTAINER 3: Leaders --- const leaderContainer = new ContainerBuilder() - .addSectionComponents( - new SectionBuilder().addTextDisplayComponents( - new TextDisplayBuilder().setContent("## ✨ CONSTELLATION LEADERS"), - new TextDisplayBuilder().setContent(`**Brightest Stars**\n${levelText}`), - new TextDisplayBuilder().setContent(`**Gilded Nebulas**\n${wealthText}`) - ) + .addTextDisplayComponents( + new TextDisplayBuilder().setContent("## ✨ CONSTELLATION LEADERS"), + new TextDisplayBuilder().setContent(`**Brightest Stars**\n${levelText}`), + new TextDisplayBuilder().setContent(`**Gilded Nebulas**\n${wealthText}`) ); // --- CONTAINER 4: Echoes --- @@ -164,11 +162,9 @@ export const terminalService = { }); const echoesContainer = new ContainerBuilder() - .addSectionComponents( - new SectionBuilder().addTextDisplayComponents( - new TextDisplayBuilder().setContent("## 📡 COSMIC ECHOES"), - new TextDisplayBuilder().setContent(activityLines.join("\n") || "Silence...") - ) + .addTextDisplayComponents( + new TextDisplayBuilder().setContent("## 📡 COSMIC ECHOES"), + new TextDisplayBuilder().setContent(activityLines.join("\n") || "Silence...") );