From 8ef61f6dccd19a02b8e4b81c454d1d90e3fa6166 Mon Sep 17 00:00:00 2001 From: vault-agent Date: Mon, 21 Sep 2026 12:31:12 -0700 Subject: [PATCH] Implement spec from notes/vpc-bot-comp-corner-pin-fix.md --- src/lib/output/messages.js | 15 +++++++++++---- src/lib/raffle/raffleWinner.js | 2 -- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/lib/output/messages.js b/src/lib/output/messages.js index 7f23b57..bc9780d 100644 --- a/src/lib/output/messages.js +++ b/src/lib/output/messages.js @@ -1,5 +1,6 @@ import "dotenv/config"; import { EmbedBuilder } from "discord.js"; +import logger from "../utils/logger.js"; import { printCombinedLeaderboard, printSeasonLeaderboard, @@ -12,9 +13,6 @@ export const createCompetitionWeekEmbed = (week) => { return new EmbedBuilder() .setColor("Blue") .setTitle(`🎰 Week ${week.weekNumber} – Table of the Week`) - .setURL( - `https://discord.com/channels/${process.env.GUILD_ID}/${process.env.COMPETITION_CHANNEL_ID}/${process.env.COMPETITION_WEEKLY_POST_ID}`, - ) .addFields( { name: "Table", @@ -268,13 +266,22 @@ export const pinNewWeeklyCompetition = async (channel, newMessage, client) => { if (oldPin) { await oldPin.unpin().catch((err) => { // Log error but continue + logger.error({ err }, "Failed to unpin old weekly competition message:"); }); } - return await newMessage.pin().then( + const pinResult = await newMessage.pin().then( () => true, () => false, ); + + if (pinResult) { + const recentMessages = await channel.messages.fetch({ limit: 5 }); + const systemPin = recentMessages.find((m) => m.type === 6); + if (systemPin) await systemPin.delete().catch(() => {}); + } + + return pinResult; }; export default { diff --git a/src/lib/raffle/raffleWinner.js b/src/lib/raffle/raffleWinner.js index 3462134..bae050e 100644 --- a/src/lib/raffle/raffleWinner.js +++ b/src/lib/raffle/raffleWinner.js @@ -137,8 +137,6 @@ export const runRaffleAndCreateNextWeek = async (client, channel) => { if (createWeekResult.success) { logger.info("New competition week created successfully."); - const week = createWeekResult.week; - await channel.send({ embeds: [createCompetitionWeekEmbed(week)] }); } else { logger.error( `Failed to create new competition week: ${createWeekResult.message}`,