Browse Source

Fixed WaitForGuildsAsync

tags/1.0-rc
RogueException 9 years ago
parent
commit
52053ac942
1 changed files with 8 additions and 2 deletions
  1. +8
    -2
      src/Discord.Net/DiscordSocketClient.cs

+ 8
- 2
src/Discord.Net/DiscordSocketClient.cs View File

@@ -552,6 +552,10 @@ namespace Discord
await _gatewayLogger.WarningAsync($"{type} referenced an unknown guild.").ConfigureAwait(false); await _gatewayLogger.WarningAsync($"{type} referenced an unknown guild.").ConfigureAwait(false);
return; return;
} }

var unavailableGuilds = _unavailableGuilds;
if (unavailableGuilds != 0)
_unavailableGuilds = unavailableGuilds - 1;
} }


if (data.Unavailable != true) if (data.Unavailable != true)
@@ -600,6 +604,8 @@ namespace Discord
await LeftGuild.RaiseAsync(guild).ConfigureAwait(false); await LeftGuild.RaiseAsync(guild).ConfigureAwait(false);
await _gatewayLogger.InfoAsync($"Left {data.Name}").ConfigureAwait(false); await _gatewayLogger.InfoAsync($"Left {data.Name}").ConfigureAwait(false);
} }
else
_unavailableGuilds++;


} }
else else
@@ -671,7 +677,7 @@ namespace Discord
} }
} }
else else
channel = RemoveDMChannel(data.Id);
channel = RemoveDMChannel(data.Recipient.Value.Id);
if (channel != null) if (channel != null)
await ChannelDestroyed.RaiseAsync(channel).ConfigureAwait(false); await ChannelDestroyed.RaiseAsync(channel).ConfigureAwait(false);
else else
@@ -1148,7 +1154,7 @@ namespace Discord


private async Task WaitForGuildsAsync(CancellationToken cancelToken) private async Task WaitForGuildsAsync(CancellationToken cancelToken)
{ {
while ((_unavailableGuilds > 0) || (Environment.TickCount - _lastGuildAvailableTime > 2000))
while ((_unavailableGuilds != 0) && (Environment.TickCount - _lastGuildAvailableTime < 2000))
await Task.Delay(500, cancelToken).ConfigureAwait(false); await Task.Delay(500, cancelToken).ConfigureAwait(false);
} }
public async Task WaitForGuildsAsync() public async Task WaitForGuildsAsync()


Loading…
Cancel
Save