From 8e1b962c4b6f0f2e79c010ed895e85caeab8c6ef Mon Sep 17 00:00:00 2001 From: rladenson Date: Mon, 18 Nov 2024 00:43:49 -0700 Subject: [PATCH] fix: inconsistent behavior with non-owned banner lookups --- PluralKit.Bot/Commands/MemberEdit.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/PluralKit.Bot/Commands/MemberEdit.cs b/PluralKit.Bot/Commands/MemberEdit.cs index b57f1bae..910aa68b 100644 --- a/PluralKit.Bot/Commands/MemberEdit.cs +++ b/PluralKit.Bot/Commands/MemberEdit.cs @@ -194,16 +194,18 @@ public class MemberEdit public async Task BannerImage(Context ctx, PKMember target) { - ctx.CheckOwnMember(target); - async Task ClearBannerImage() { + ctx.CheckOwnMember(target); + await ctx.ConfirmClear("this member's banner image"); + await ctx.Repository.UpdateMember(target.Id, new MemberPatch { BannerImage = null }); await ctx.Reply($"{Emojis.Success} Member banner image cleared."); } async Task SetBannerImage(ParsedImage img) { + ctx.CheckOwnMember(target); img = await _avatarHosting.TryRehostImage(img, AvatarHostingService.RehostedImageType.Banner, ctx.Author.Id, ctx.System); await AvatarUtils.VerifyAvatarOrThrow(_client, img.Url, true); @@ -243,7 +245,7 @@ public class MemberEdit } } - if (ctx.MatchClear() && await ctx.ConfirmClear("this member's banner image")) + if (ctx.MatchClear()) await ClearBannerImage(); else if (await ctx.MatchImage() is { } img) await SetBannerImage(img);