feat: add raw and pt formats to system banner

This commit is contained in:
rladenson 2024-11-18 23:27:44 -07:00
parent 0552335d1d
commit 48ef34fd65

View file

@ -694,24 +694,31 @@ public class SystemEdit
var isOwnSystem = target.Id == ctx.System?.Id; var isOwnSystem = target.Id == ctx.System?.Id;
if (!ctx.HasNext() && ctx.Message.Attachments.Length == 0) if ((!ctx.HasNext() && ctx.Message.Attachments.Length == 0) || ctx.PeekMatchFormat() != ReplyFormat.Standard)
{ {
if ((target.BannerImage?.Trim() ?? "").Length > 0) if ((target.BannerImage?.Trim() ?? "").Length > 0)
switch (ctx.MatchFormat())
{ {
var eb = new EmbedBuilder() case ReplyFormat.Raw:
await ctx.Reply($"`{target.BannerImage.TryGetCleanCdnUrl()}`");
break;
case ReplyFormat.Plaintext:
var ebP = new EmbedBuilder()
.Description($"Showing banner for system {target.NameFor(ctx)}");
await ctx.Reply(text: $"<{target.BannerImage.TryGetCleanCdnUrl()}>", embed: ebP.Build());
break;
default:
var ebS = new EmbedBuilder()
.Title("System banner image") .Title("System banner image")
.Image(new Embed.EmbedImage(target.BannerImage)); .Image(new Embed.EmbedImage(target.BannerImage.TryGetCleanCdnUrl()));
if (target.Id == ctx.System?.Id)
if (isOwnSystem) ebS.Description("To clear, use `pk;system banner clear`.");
eb.Description("To clear, use `pk;system banner clear`."); await ctx.Reply(embed: ebS.Build());
break;
await ctx.Reply(embed: eb.Build());
} }
else else
{
throw new PKSyntaxError("This system does not have a banner image set." throw new PKSyntaxError("This system does not have a banner image set."
+ (isOwnSystem ? "Set one by attaching an image to this command, or by passing an image URL or @mention." : "")); + (isOwnSystem ? "Set one by attaching an image to this command, or by passing an image URL or @mention." : ""));
}
return; return;
} }