summaryrefslogtreecommitdiff
path: root/packages/gateway/src/commands/pin.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gateway/src/commands/pin.ts')
-rw-r--r--packages/gateway/src/commands/pin.ts28
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);