From 954fea856f09432dc3f50e2eedb1f9fbe285ea16 Mon Sep 17 00:00:00 2001 From: RogueException Date: Wed, 9 Dec 2015 23:11:38 -0400 Subject: [PATCH] Fixed edit message queue --- src/Discord.Net/DiscordClient.Messages.cs | 27 +++++++++++++++-------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/Discord.Net/DiscordClient.Messages.cs b/src/Discord.Net/DiscordClient.Messages.cs index 625d27c3c..f517d1252 100644 --- a/src/Discord.Net/DiscordClient.Messages.cs +++ b/src/Discord.Net/DiscordClient.Messages.cs @@ -353,22 +353,31 @@ namespace Discord { while (_pendingMessages.TryDequeue(out queuedMessage)) { - SendMessageResponse response = null; var msg = queuedMessage.Message; try { - response = await _api.SendMessage( + if (msg.Id < 0) + { + await _api.SendMessage( + msg.Channel.Id, + queuedMessage.Text, + queuedMessage.MentionedUsers, + IdConvert.ToString(msg.Id), //Nonce + msg.IsTTS) + .ConfigureAwait(false); + RaiseMessageSent(msg); + } + else + { + await _api.EditMessage( + msg.Id, msg.Channel.Id, queuedMessage.Text, - queuedMessage.MentionedUsers, - IdConvert.ToString(msg.Id), //Nonce - msg.IsTTS) - .ConfigureAwait(false); + queuedMessage.MentionedUsers); + } } catch (WebException) { break; } - catch (HttpException) { msg.State = MessageState.Failed; } - - RaiseMessageSent(msg); + catch (HttpException) { msg.State = MessageState.Failed; } } await Task.Delay(interval).ConfigureAwait(false); }