diff --git a/src/Discord.Net.WebSocket/DiscordSocketConfig.cs b/src/Discord.Net.WebSocket/DiscordSocketConfig.cs index 10fc1065d..d681784d7 100644 --- a/src/Discord.Net.WebSocket/DiscordSocketConfig.cs +++ b/src/Discord.Net.WebSocket/DiscordSocketConfig.cs @@ -190,6 +190,7 @@ namespace Discord.WebSocket { WebSocketProvider = DefaultWebSocketProvider.Instance; UdpSocketProvider = DefaultUdpSocketProvider.Instance; + MessageCache = new MessageCache(); } internal DiscordSocketConfig Clone() => MemberwiseClone() as DiscordSocketConfig; diff --git a/src/Discord.Net.WebSocket/Entities/Channels/SocketDMChannel.cs b/src/Discord.Net.WebSocket/Entities/Channels/SocketDMChannel.cs index aaeee182b..cdb05cf79 100644 --- a/src/Discord.Net.WebSocket/Entities/Channels/SocketDMChannel.cs +++ b/src/Discord.Net.WebSocket/Entities/Channels/SocketDMChannel.cs @@ -36,7 +36,7 @@ namespace Discord.WebSocket { Recipient = recipient; recipient.GlobalUser.AddRef(); - _messages = discord.MessageCache.CreateMessageCache(discord); + _messages = discord.MessageCache.CreateMessageCache(); } internal static SocketDMChannel Create(DiscordSocketClient discord, ClientState state, Model model) { diff --git a/src/Discord.Net.WebSocket/Entities/Channels/SocketGroupChannel.cs b/src/Discord.Net.WebSocket/Entities/Channels/SocketGroupChannel.cs index f593f5f57..876d1b621 100644 --- a/src/Discord.Net.WebSocket/Entities/Channels/SocketGroupChannel.cs +++ b/src/Discord.Net.WebSocket/Entities/Channels/SocketGroupChannel.cs @@ -38,7 +38,7 @@ namespace Discord.WebSocket internal SocketGroupChannel(DiscordSocketClient discord, ulong id) : base(discord, id) { - _messages = discord.MessageCache.CreateMessageCache(discord); + _messages = discord.MessageCache.CreateMessageCache(); _voiceStates = new ConcurrentDictionary(ConcurrentHashSet.DefaultConcurrencyLevel, 5); _users = new ConcurrentDictionary(ConcurrentHashSet.DefaultConcurrencyLevel, 5); } diff --git a/src/Discord.Net.WebSocket/Entities/Channels/SocketTextChannel.cs b/src/Discord.Net.WebSocket/Entities/Channels/SocketTextChannel.cs index 7fd3713dc..3f570c850 100644 --- a/src/Discord.Net.WebSocket/Entities/Channels/SocketTextChannel.cs +++ b/src/Discord.Net.WebSocket/Entities/Channels/SocketTextChannel.cs @@ -54,7 +54,7 @@ namespace Discord.WebSocket : base(discord, id, guild) { if (Discord.MessageCacheSize > 0) - _messages = discord.MessageCache.CreateMessageCache(discord); + _messages = discord.MessageCache.CreateMessageCache(); } internal new static SocketTextChannel Create(SocketGuild guild, ClientState state, Model model) { diff --git a/src/Discord.Net.WebSocket/Entities/Messages/IMessageCache.cs b/src/Discord.Net.WebSocket/Entities/Messages/IMessageCache.cs index 8b061e85b..c64eee1b7 100644 --- a/src/Discord.Net.WebSocket/Entities/Messages/IMessageCache.cs +++ b/src/Discord.Net.WebSocket/Entities/Messages/IMessageCache.cs @@ -5,7 +5,7 @@ namespace Discord { public interface IMessageCache { - public IMessageCache CreateMessageCache(DiscordSocketClient discord); + public IMessageCache CreateMessageCache(); public IReadOnlyCollection Messages { get; } diff --git a/src/Discord.Net.WebSocket/Entities/Messages/MessageCache.cs b/src/Discord.Net.WebSocket/Entities/Messages/MessageCache.cs index 58ceeeaf7..96215a1ce 100644 --- a/src/Discord.Net.WebSocket/Entities/Messages/MessageCache.cs +++ b/src/Discord.Net.WebSocket/Entities/Messages/MessageCache.cs @@ -14,11 +14,11 @@ namespace Discord.WebSocket public IReadOnlyCollection Messages => _messages.ToReadOnlyCollection(); - public IMessageCache CreateMessageCache(DiscordSocketClient discord) => new MessageCache(discord); + public IMessageCache CreateMessageCache() => new MessageCache(); - public MessageCache(DiscordSocketClient discord) + public MessageCache() { - _size = discord.MessageCacheSize; + _size = 50; // todo: get this from the existing DiscordSocketConfig value. _messages = new ConcurrentDictionary(ConcurrentHashSet.DefaultConcurrencyLevel, (int)(_size * 1.05)); _orderedMessages = new ConcurrentQueue(); }