diff --git a/src/Discord.Net.Core/Entities/Messages/EmbedBuilder.cs b/src/Discord.Net.Core/Entities/Messages/EmbedBuilder.cs index 04f4f6884..7fd789486 100644 --- a/src/Discord.Net.Core/Entities/Messages/EmbedBuilder.cs +++ b/src/Discord.Net.Core/Entities/Messages/EmbedBuilder.cs @@ -196,6 +196,17 @@ namespace Discord AddField(field); return this; } + + public EmbedBuilder AddBlankField(bool inline = false) + { + var field = new EmbedFieldBuilder() + .WithIsInline(inline) + .WithName(null) + .WithValue(null); + AddField(field); + return this; + } + public EmbedBuilder AddField(EmbedFieldBuilder field) { if (Fields.Count >= MaxFieldCount) @@ -231,6 +242,8 @@ namespace Discord { private string _name; private string _value; + private const string emptyString = "_ _"; + public const int MaxFieldNameLength = 256; public const int MaxFieldValueLength = 1024; @@ -239,9 +252,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 = emptyString; + 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 +267,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 = emptyString; + 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; }