From d611e76b5aa543d4ce0aaaf79699f714412fcdcd Mon Sep 17 00:00:00 2001 From: ericmck2000 Date: Thu, 23 Aug 2018 09:19:05 -0500 Subject: [PATCH] Update EmbedFieldBuilder Updated Field builder, to allow for "Empty" fields and values. If you send "_ _" via the discord rest API, it will display as a blank field. Updated the Value setting to use String.IsNullOrWhiteSpace instead of String.IsNullOrEmpty, because passing a string full of spaces through the API will cause errors as well. However, "_ _" works perfectly. --- .../Entities/Messages/EmbedBuilder.cs | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/Discord.Net.Core/Entities/Messages/EmbedBuilder.cs b/src/Discord.Net.Core/Entities/Messages/EmbedBuilder.cs index 04f4f6884..32ef060e4 100644 --- a/src/Discord.Net.Core/Entities/Messages/EmbedBuilder.cs +++ b/src/Discord.Net.Core/Entities/Messages/EmbedBuilder.cs @@ -239,9 +239,12 @@ namespace Discord get => _name; set { - if (string.IsNullOrWhiteSpace(value)) throw new ArgumentException($"Field name must not be null, empty or entirely whitespace.", nameof(Name)); - if (value.Length > MaxFieldNameLength) throw new ArgumentException($"Field name length must be less than or equal to {MaxFieldNameLength}.", nameof(Name)); - _name = value; + if (string.IsNullOrWhiteSpace(value)) + _name = "_ _"; + else if (value.Length > MaxFieldNameLength) + throw new ArgumentException($"Field name length must be less than or equal to {MaxFieldNameLength}.", nameof(Name)); + else + _name = value; } } @@ -251,9 +254,12 @@ namespace Discord set { var stringValue = value?.ToString(); - if (string.IsNullOrEmpty(stringValue)) throw new ArgumentException($"Field value must not be null or empty.", nameof(Value)); - if (stringValue.Length > MaxFieldValueLength) throw new ArgumentException($"Field value length must be less than or equal to {MaxFieldValueLength}.", nameof(Value)); - _value = stringValue; + if (string.IsNullOrWhiteSpace(stringValue)) + _value = "_ _"; + else if (stringValue.Length > MaxFieldValueLength) + throw new ArgumentException($"Field value length must be less than or equal to {MaxFieldValueLength}.", nameof(Value)); + else + _value = stringValue; } } public bool IsInline { get; set; }