From ba279612ca1754655868f632d4306b0a32a42f8f Mon Sep 17 00:00:00 2001 From: rladenson Date: Mon, 18 Nov 2024 23:43:04 -0700 Subject: [PATCH] feat: add raw and pt formats to member banners --- PluralKit.Bot/Commands/MemberEdit.cs | 30 ++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/PluralKit.Bot/Commands/MemberEdit.cs b/PluralKit.Bot/Commands/MemberEdit.cs index b57f1bae..22e60573 100644 --- a/PluralKit.Bot/Commands/MemberEdit.cs +++ b/PluralKit.Bot/Commands/MemberEdit.cs @@ -229,18 +229,28 @@ public class MemberEdit async Task ShowBannerImage() { if ((target.BannerImage?.Trim() ?? "").Length > 0) - { - var eb = new EmbedBuilder() - .Title($"{target.NameFor(ctx)}'s banner image") - .Image(new Embed.EmbedImage(target.BannerImage)) - .Description($"To clear, use `pk;member {target.Reference(ctx)} banner clear`."); - await ctx.Reply(embed: eb.Build()); - } + switch (ctx.MatchFormat()) + { + case ReplyFormat.Raw: + await ctx.Reply($"`{target.BannerImage.TryGetCleanCdnUrl()}`"); + break; + case ReplyFormat.Plaintext: + var ebP = new EmbedBuilder() + .Description($"Showing banner for member {target.NameFor(ctx)} (`{target.Id}`)"); + await ctx.Reply(text: $"<{target.BannerImage.TryGetCleanCdnUrl()}>", embed: ebP.Build()); + break; + default: + var ebS = new EmbedBuilder() + .Title($"{target.NameFor(ctx)}'s banner image") + .Image(new Embed.EmbedImage(target.BannerImage.TryGetCleanCdnUrl())); + if (target.System == ctx.System?.Id) + ebS.Description($"To clear, use `pk;member {target.Reference(ctx)} banner clear`."); + await ctx.Reply(embed: ebS.Build()); + break; + } else - { throw new PKSyntaxError( - "This member does not have a banner image set. Set one by attaching an image to this command, or by passing an image URL."); - } + "This member does not have a banner image set." + ((target.System == ctx.System?.Id) ? " Set one by attaching an image to this command, or by passing an image URL." : "")); } if (ctx.MatchClear() && await ctx.ConfirmClear("this member's banner image"))