Merge branch 'dev' into issues/274
This commit is contained in:
@@ -57,6 +57,7 @@ namespace Discord.WebSocket
|
||||
internal ClientState State { get; private set; }
|
||||
internal int ConnectionTimeout { get; private set; }
|
||||
internal WebSocketProvider WebSocketProvider { get; private set; }
|
||||
internal bool DownloadUsersOnGuildAvailable { get; private set; }
|
||||
|
||||
public new DiscordSocketApiClient ApiClient => base.ApiClient as DiscordSocketApiClient;
|
||||
public new SocketSelfUser CurrentUser { get { return base.CurrentUser as SocketSelfUser; } private set { base.CurrentUser = value; } }
|
||||
@@ -76,6 +77,7 @@ namespace Discord.WebSocket
|
||||
LargeThreshold = config.LargeThreshold;
|
||||
AudioMode = config.AudioMode;
|
||||
WebSocketProvider = config.WebSocketProvider;
|
||||
DownloadUsersOnGuildAvailable = config.DownloadUsersOnGuildAvailable;
|
||||
ConnectionTimeout = config.ConnectionTimeout;
|
||||
State = new ClientState(0, 0);
|
||||
|
||||
@@ -108,6 +110,15 @@ namespace Discord.WebSocket
|
||||
GuildUnavailable += async g => await _gatewayLogger.VerboseAsync($"Disconnected from {g.Name}").ConfigureAwait(false);
|
||||
LatencyUpdated += async (old, val) => await _gatewayLogger.VerboseAsync($"Latency = {val} ms").ConfigureAwait(false);
|
||||
|
||||
if (DownloadUsersOnGuildAvailable)
|
||||
{
|
||||
GuildAvailable += g =>
|
||||
{
|
||||
var _ = g.DownloadUsersAsync();
|
||||
return Task.CompletedTask;
|
||||
};
|
||||
}
|
||||
|
||||
_voiceRegions = ImmutableDictionary.Create<string, RestVoiceRegion>();
|
||||
_largeGuilds = new ConcurrentQueue<ulong>();
|
||||
}
|
||||
@@ -1663,7 +1674,7 @@ namespace Discord.WebSocket
|
||||
{
|
||||
if (_heartbeatTime != 0) //Server never responded to our last heartbeat
|
||||
{
|
||||
if (ConnectionState == ConnectionState.Connected && (_guildDownloadTask?.IsCompleted ?? false))
|
||||
if (ConnectionState == ConnectionState.Connected && (_guildDownloadTask?.IsCompleted ?? true))
|
||||
{
|
||||
await _gatewayLogger.WarningAsync("Server missed last heartbeat").ConfigureAwait(false);
|
||||
await StartReconnectAsync(new Exception("Server missed last heartbeat")).ConfigureAwait(false);
|
||||
|
||||
Reference in New Issue
Block a user