From 900b9b082e5e4fb2ff4eeffaa565286339c443b6 Mon Sep 17 00:00:00 2001 From: RogueException Date: Mon, 13 Mar 2017 22:17:35 -0300 Subject: [PATCH] Removed persistant guild list for user downloads --- .../DiscordSocketClient.cs | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/src/Discord.Net.WebSocket/DiscordSocketClient.cs b/src/Discord.Net.WebSocket/DiscordSocketClient.cs index b7dd3729d..d51df219d 100644 --- a/src/Discord.Net.WebSocket/DiscordSocketClient.cs +++ b/src/Discord.Net.WebSocket/DiscordSocketClient.cs @@ -40,7 +40,6 @@ namespace Discord.WebSocket private int _nextAudioId; private DateTimeOffset? _statusSince; private RestApplication _applicationInfo; - private ConcurrentHashSet _downloadUsersFor; /// Gets the shard of of this client. public int ShardId { get; } @@ -88,7 +87,6 @@ namespace Discord.WebSocket WebSocketProvider = config.WebSocketProvider; AlwaysDownloadUsers = config.AlwaysDownloadUsers; State = new ClientState(0, 0); - _downloadUsersFor = new ConcurrentHashSet(); _heartbeatTimes = new ConcurrentQueue(); _stateLock = new SemaphoreSlim(1, 1); @@ -120,12 +118,9 @@ namespace Discord.WebSocket GuildAvailable += g => { - if (ConnectionState == ConnectionState.Connected && (AlwaysDownloadUsers || _downloadUsersFor.ContainsKey(g.Id))) + if (ConnectionState == ConnectionState.Connected && AlwaysDownloadUsers && !g.HasAllMembers) { - if (!g.HasAllMembers) - { - var _ = g.DownloadUsersAsync(); - } + var _ = g.DownloadUsersAsync(); } return Task.Delay(0); }; @@ -159,7 +154,6 @@ namespace Discord.WebSocket await StopAsync().ConfigureAwait(false); _applicationInfo = null; _voiceRegions = ImmutableDictionary.Create(); - _downloadUsersFor.Clear(); } public async Task StartAsync() @@ -192,9 +186,6 @@ namespace Discord.WebSocket await _gatewayLogger.DebugAsync("Sending Status").ConfigureAwait(false); await SendStatusAsync().ConfigureAwait(false); - - await ProcessUserDownloadsAsync(_downloadUsersFor.Select(x => GetGuild(x)) - .Where(x => x != null).ToImmutableArray()).ConfigureAwait(false); } finally { @@ -317,9 +308,6 @@ namespace Discord.WebSocket /// Downloads the users list for the provided guilds, if they don't have a complete list. public async Task DownloadUsersAsync(IEnumerable guilds) { - foreach (var guild in guilds) - _downloadUsersFor.TryAdd(guild.Id); - if (ConnectionState == ConnectionState.Connected) { //Race condition leads to guilds being requested twice, probably okay @@ -664,7 +652,6 @@ namespace Discord.WebSocket { await _gatewayLogger.DebugAsync($"Received Dispatch (GUILD_DELETE)").ConfigureAwait(false); - _downloadUsersFor.TryRemove(data.Id); var guild = RemoveGuild(data.Id); if (guild != null) {