summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-10-05 20:23:17 -0700
committerFuwn <[email protected]>2025-10-05 20:23:17 -0700
commit63dc8ef713a3c3ad240ddd40799bc2807ee8d7d6 (patch)
tree6ac5b66eeb36b4519ea3ac62dbbd0d124266c563
parentfix(gateway:voiceConnection): Improve error handling (diff)
downloadumabotdiscord-63dc8ef713a3c3ad240ddd40799bc2807ee8d7d6.tar.xz
umabotdiscord-63dc8ef713a3c3ad240ddd40799bc2807ee8d7d6.zip
feat(gateway:pin): Unpin if pinned
-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);