From 63dc8ef713a3c3ad240ddd40799bc2807ee8d7d6 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sun, 5 Oct 2025 20:23:17 -0700 Subject: feat(gateway:pin): Unpin if pinned --- packages/gateway/src/commands/pin.ts | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'packages/gateway') diff --git a/packages/gateway/src/commands/pin.ts b/packages/gateway/src/commands/pin.ts index 1667c50..a6babc3 100644 --- a/packages/gateway/src/commands/pin.ts +++ b/packages/gateway/src/commands/pin.ts @@ -73,13 +73,37 @@ export const handlePinCommand = async (message: Message) => { } if (targetMessage.pinned) { - await replyWithCleanup(message, "❌ Message is already pinned."); - + await message.delete(); + await targetMessage.unpin(); + + if (targetChannel.isTextBased()) { + const replyMessage = await (targetChannel as any).send("📌 Message unpinned successfully."); + + setTimeout(async () => { + try { + await replyMessage.delete(); + } catch (error) { + console.error("Failed to delete unpin confirmation message:", error); + } + }, 5000); + } return; } await message.delete(); await targetMessage.pin(); + + if (targetChannel.isTextBased()) { + const replyMessage = await (targetChannel as any).send("📌 Message pinned successfully."); + + setTimeout(async () => { + try { + await replyMessage.delete(); + } catch (error) { + console.error("Failed to delete pin confirmation message:", error); + } + }, 5000); + } } catch (error) { console.error("Error pinning message:", error); -- cgit v1.2.3