From 83bdfe840670a5c41f26aaf76220a5bdb2a6c5bb Mon Sep 17 00:00:00 2001 From: rladenson Date: Tue, 5 Nov 2024 21:22:07 -0700 Subject: [PATCH] fix: users without a system could delete any proxied message --- PluralKit.Bot/ApplicationCommands/Message.cs | 3 ++- PluralKit.Bot/Commands/Message.cs | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/PluralKit.Bot/ApplicationCommands/Message.cs b/PluralKit.Bot/ApplicationCommands/Message.cs index f0f239b9..a425b31c 100644 --- a/PluralKit.Bot/ApplicationCommands/Message.cs +++ b/PluralKit.Bot/ApplicationCommands/Message.cs @@ -78,7 +78,8 @@ public class ApplicationCommandProxiedMessage var message = await ctx.Repository.GetFullMessage(messageId); if (message != null) { - if (message.Message.Sender != ctx.User.Id && (ctx.System != null && message.System?.Id != ctx.System.Id)) + // if user has has a system and their system sent the message, or if user sent the message, do not error + if (!((ctx.System != null && message.System?.Id == ctx.System.Id) || message.Message.Sender == ctx.User.Id)) throw new PKError("You can only delete your own messages."); await DeleteMessageInner(ctx, message.Message.Guild ?? 0, message.Message.Channel, message.Message.Mid, false); diff --git a/PluralKit.Bot/Commands/Message.cs b/PluralKit.Bot/Commands/Message.cs index e92ff1f5..4f5257ec 100644 --- a/PluralKit.Bot/Commands/Message.cs +++ b/PluralKit.Bot/Commands/Message.cs @@ -400,7 +400,8 @@ public class ProxiedMessage if (!showContent) throw new PKError(noShowContentError); - if (message.Message.Sender != ctx.Author.Id && (ctx.System != null && message.System?.Id != ctx.System.Id)) + // if user has has a system and their system sent the message, or if user sent the message, do not error + if (!((ctx.System != null && message.System?.Id == ctx.System.Id) || message.Message.Sender == ctx.Author.Id)) throw new PKError("You can only delete your own messages."); await ctx.Rest.DeleteMessage(message.Message.Channel, message.Message.Mid);