From 97c4a1cca9774414329ed22a8a18fe379d7bd07c Mon Sep 17 00:00:00 2001 From: RogueException Date: Mon, 23 Nov 2015 00:03:44 -0400 Subject: [PATCH] Fixed MessageDeleted not always being fired --- src/Discord.Net/DiscordClient.Channels.cs | 1 - src/Discord.Net/DiscordClient.Messages.cs | 23 ++++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/Discord.Net/DiscordClient.Channels.cs b/src/Discord.Net/DiscordClient.Channels.cs index 93ff48468..d3c83733f 100644 --- a/src/Discord.Net/DiscordClient.Channels.cs +++ b/src/Discord.Net/DiscordClient.Channels.cs @@ -200,7 +200,6 @@ namespace Discord try { await _api.DestroyChannel(channel.Id).ConfigureAwait(false); } catch (HttpException ex) when (ex.StatusCode == HttpStatusCode.NotFound) { } - //return _channels.TryRemove(channel.Id); } } } \ No newline at end of file diff --git a/src/Discord.Net/DiscordClient.Messages.cs b/src/Discord.Net/DiscordClient.Messages.cs index f47c2b34c..254eb20b2 100644 --- a/src/Discord.Net/DiscordClient.Messages.cs +++ b/src/Discord.Net/DiscordClient.Messages.cs @@ -188,29 +188,30 @@ namespace Discord } /// Deletes the provided message. - public Task DeleteMessage(Message message) + public async Task DeleteMessage(Message message) { if (message == null) throw new ArgumentNullException(nameof(message)); CheckReady(); - return DeleteMessageInternal(message); - } + try + { + await _api.DeleteMessage(message.Id, message.Channel.Id).ConfigureAwait(false); + } + catch (HttpException ex) when (ex.StatusCode == HttpStatusCode.NotFound) { } + } public async Task DeleteMessages(IEnumerable messages) { if (messages == null) throw new ArgumentNullException(nameof(messages)); CheckReady(); foreach (var message in messages) - await DeleteMessageInternal(message).ConfigureAwait(false); - } - private async Task DeleteMessageInternal(Message message) - { - try { - await _api.DeleteMessage(message.Id, message.Channel.Id).ConfigureAwait(false); - _messages.TryRemove(message.Id); + try + { + await _api.DeleteMessage(message.Id, message.Channel.Id).ConfigureAwait(false); + } + catch (HttpException ex) when (ex.StatusCode == HttpStatusCode.NotFound) { } } - catch (HttpException ex) when (ex.StatusCode == HttpStatusCode.NotFound) { } }