diff options
Diffstat (limited to 'packages/gateway/src')
| -rw-r--r-- | packages/gateway/src/commands/pin.ts | 28 |
1 files changed, 26 insertions, 2 deletions
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); |