diff --git a/src/commands/newAnnouncement.ts b/src/commands/newAnnouncement.ts index 80d794c..70a7682 100644 --- a/src/commands/newAnnouncement.ts +++ b/src/commands/newAnnouncement.ts @@ -71,7 +71,7 @@ export default async function (_client: Client) { }); const title = interaction.options.getString("title", true); - const content = interaction.options.getString("content", true); + let content = interaction.options.getString("content", true); const changesRaw = interaction.options.getString( "changes", false, @@ -86,6 +86,9 @@ export default async function (_client: Client) { link = "https://github.com/Space-Banane/shsf"; } + // Post Process Content + content = content.replace(/\\n/g, "\n"); // allow users to input \n for newlines + const fields = []; if (changesRaw && changesRaw.trim() !== "") { @@ -172,6 +175,20 @@ export default async function (_client: Client) { await message.react("👍"); await message.react("🔥"); await message.react("👎"); + + // Add to database with messageId for future updates + await db.collection("announcements").insertOne({ + messageId: message.id, + title, + content, + changes: changesRaw ?? null, + imageUrl: image?.url ?? null, + comingWhen: comingWhenRaw ?? null, + link, + announcedBy: interaction.user.id, + announcedByUsername: interaction.user.username, + announcedAt: new Date(), + }); } else { console.error( "Announcement channel not found or is not text-based.", @@ -183,21 +200,6 @@ export default async function (_client: Client) { content: "You do not have permission to use this command.", }); } - - // Add to database - await db.collection("announcements").insertOne({ - title: interaction.options.getString("title", true), - content: interaction.options.getString("content", true), - changes: interaction.options.getString("changes", false), - imageUrl: - interaction.options.getAttachment("image", false)?.url || - null, - comingWhen: - interaction.options.getString("coming_when", false) || null, - link: interaction.options.getString("link", false) || null, - announcedBy: interaction.user.id, - announcedAt: new Date(), - }); }, }); }