|
@@ -500,12 +500,21 @@ namespace Discord.WebSocket |
|
|
await SyncGuildsAsync().ConfigureAwait(false); |
|
|
await SyncGuildsAsync().ConfigureAwait(false); |
|
|
|
|
|
|
|
|
_lastGuildAvailableTime = Environment.TickCount; |
|
|
_lastGuildAvailableTime = Environment.TickCount; |
|
|
_guildDownloadTask = WaitForGuildsAsync(_connection.CancelToken, _gatewayLogger); |
|
|
|
|
|
|
|
|
|
|
|
await _readyEvent.InvokeAsync().ConfigureAwait(false); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_guildDownloadTask = WaitForGuildsAsync(_connection.CancelToken, _gatewayLogger) |
|
|
|
|
|
.ContinueWith(async x => |
|
|
|
|
|
{ |
|
|
|
|
|
if (x.IsFaulted) |
|
|
|
|
|
{ |
|
|
|
|
|
_connection.Error(x.Exception); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
else if (_connection.CancelToken.IsCancellationRequested) |
|
|
|
|
|
return; |
|
|
|
|
|
|
|
|
|
|
|
await _readyEvent.InvokeAsync().ConfigureAwait(false); |
|
|
|
|
|
await _gatewayLogger.InfoAsync("Ready").ConfigureAwait(false); |
|
|
|
|
|
}); |
|
|
var _ = _connection.CompleteAsync(); |
|
|
var _ = _connection.CompleteAsync(); |
|
|
await _gatewayLogger.InfoAsync("Ready").ConfigureAwait(false); |
|
|
|
|
|
} |
|
|
} |
|
|
break; |
|
|
break; |
|
|
case "RESUMED": |
|
|
case "RESUMED": |
|
@@ -1580,12 +1589,12 @@ namespace Discord.WebSocket |
|
|
await _gatewayLogger.ErrorAsync("Heartbeat Errored", ex).ConfigureAwait(false); |
|
|
await _gatewayLogger.ErrorAsync("Heartbeat Errored", ex).ConfigureAwait(false); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
public async Task WaitForGuildsAsync() |
|
|
|
|
|
|
|
|
/*public async Task WaitForGuildsAsync() |
|
|
{ |
|
|
{ |
|
|
var downloadTask = _guildDownloadTask; |
|
|
var downloadTask = _guildDownloadTask; |
|
|
if (downloadTask != null) |
|
|
if (downloadTask != null) |
|
|
await _guildDownloadTask.ConfigureAwait(false); |
|
|
await _guildDownloadTask.ConfigureAwait(false); |
|
|
} |
|
|
|
|
|
|
|
|
}*/ |
|
|
private async Task WaitForGuildsAsync(CancellationToken cancelToken, Logger logger) |
|
|
private async Task WaitForGuildsAsync(CancellationToken cancelToken, Logger logger) |
|
|
{ |
|
|
{ |
|
|
//Wait for GUILD_AVAILABLEs |
|
|
//Wait for GUILD_AVAILABLEs |
|
|