Fix large DreamMaker output blobs breaking embeds

- Precheck the size of dreamMakerOutput before attempting to create the EmbedFieldBuilder
This commit is contained in:
Jordan Brown
2020-11-07 21:17:45 -05:00
parent 6532133f07
commit 1b5580b0ac
@@ -474,12 +474,16 @@ namespace Tgstation.Server.Host.Components.Chat.Providers
_ => throw new InvalidOperationException($"Invalid DiscordDMOutputDisplayType: {outputDisplayType}"),
};
if (showDMOutput && dreamMakerOutput != null)
builder.AddField(new EmbedFieldBuilder
{
Name = "DreamMaker Output",
Value = $"```{Environment.NewLine}{dreamMakerOutput}{Environment.NewLine}```"
});
if (dreamMakerOutput != null)
{
showDMOutput = showDMOutput && dreamMakerOutput.Length < EmbedFieldBuilder.MaxFieldValueLength - (6 + Environment.NewLine.Length);
if (showDMOutput)
builder.AddField(new EmbedFieldBuilder
{
Name = "DreamMaker Output",
Value = $"```{Environment.NewLine}{dreamMakerOutput}{Environment.NewLine}```"
});
}
if (errorMessage != null)
builder.AddField(new EmbedFieldBuilder