Ready event waits until guilds are downloaded
This commit is contained in:
@@ -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);
|
_guildDownloadTask = WaitForGuildsAsync(_connection.CancelToken, _gatewayLogger)
|
||||||
|
.ContinueWith(async x =>
|
||||||
await _readyEvent.InvokeAsync().ConfigureAwait(false);
|
{
|
||||||
|
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
|
||||||
|
|||||||
Reference in New Issue
Block a user