From 3698dbfedc209bb2e962bedfd59185c754c0b87b Mon Sep 17 00:00:00 2001 From: Christopher F Date: Sun, 13 Nov 2016 14:16:49 -0500 Subject: [PATCH] Only allow messages with an embed present to be sent with no content --- src/Discord.Net.Core/API/DiscordRestApiClient.cs | 5 ++++- src/Discord.Net.Core/API/Rest/CreateMessageParams.cs | 8 +++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/Discord.Net.Core/API/DiscordRestApiClient.cs b/src/Discord.Net.Core/API/DiscordRestApiClient.cs index 91bdbfd11..7268d7b34 100644 --- a/src/Discord.Net.Core/API/DiscordRestApiClient.cs +++ b/src/Discord.Net.Core/API/DiscordRestApiClient.cs @@ -439,7 +439,10 @@ namespace Discord.API { Preconditions.NotEqual(channelId, 0, nameof(channelId)); Preconditions.NotNull(args, nameof(args)); - if (args.Content.GetValueOrDefault()?.Length > DiscordConfig.MaxMessageSize) + if (!args.Embed.IsSpecified || args.Embed.Value == null) + Preconditions.NotNullOrEmpty(args.Content, nameof(args.Content)); + + if (args.Content.Length > DiscordConfig.MaxMessageSize) throw new ArgumentException($"Message content is too long, length must be less or equal to {DiscordConfig.MaxMessageSize}.", nameof(args.Content)); options = RequestOptions.CreateOrClone(options); diff --git a/src/Discord.Net.Core/API/Rest/CreateMessageParams.cs b/src/Discord.Net.Core/API/Rest/CreateMessageParams.cs index 9904f12bb..a0dbb59dd 100644 --- a/src/Discord.Net.Core/API/Rest/CreateMessageParams.cs +++ b/src/Discord.Net.Core/API/Rest/CreateMessageParams.cs @@ -8,7 +8,8 @@ namespace Discord.API.Rest public class CreateMessageParams { [JsonProperty("content")] - public Optional Content { get; } + public string Content { get; } + [JsonProperty("nonce")] public Optional Nonce { get; set; } [JsonProperty("tts")] @@ -18,10 +19,7 @@ namespace Discord.API.Rest public CreateMessageParams(string content) { - if (string.IsNullOrEmpty(content)) - Content = Optional.Create(); - else - Content = content; + Content = content; } } }