diff --git a/src/Discord.Net/DiscordClient.cs b/src/Discord.Net/DiscordClient.cs index d2d02d959..efbb3737a 100644 --- a/src/Discord.Net/DiscordClient.cs +++ b/src/Discord.Net/DiscordClient.cs @@ -125,7 +125,7 @@ namespace Discord GatewaySocket.ReceivedDispatch += (s, e) => OnReceivedEvent(e); if (Config.UseMessageQueue) - MessageQueue = new MessageQueue(this); + MessageQueue = new MessageQueue(this, Log.CreateLogger("MessageQueue")); Connected += async (s, e) => { ClientAPI.CancelToken = CancelToken; diff --git a/src/Discord.Net/MessageQueue.cs b/src/Discord.Net/MessageQueue.cs index b52d88c9c..a8a89d380 100644 --- a/src/Discord.Net/MessageQueue.cs +++ b/src/Discord.Net/MessageQueue.cs @@ -1,4 +1,5 @@ using Discord.API.Client.Rest; +using Discord.Logging; using System; using System.Collections.Concurrent; using System.Net; @@ -23,14 +24,17 @@ namespace Discord.Net IsTTS = isTTS; } } - + private readonly Random _nonceRand; private readonly DiscordClient _client; + private readonly Logger _logger; private readonly ConcurrentQueue _pending; - internal MessageQueue(DiscordClient client) + internal MessageQueue(DiscordClient client, Logger logger) { _client = client; + _logger = logger; + _nonceRand = new Random(); _pending = new ConcurrentQueue(); } @@ -78,6 +82,7 @@ namespace Discord.Net } catch (WebException) { break; } catch (HttpException) { /*msg.State = MessageState.Failed;*/ } + catch (Exception ex) { _logger.Error(ex); } } } });