Browse Source

Merge branch 'issues/302' into dev

pull/404/head
RogueException 8 years ago
parent
commit
32e5ce4488
2 changed files with 14 additions and 0 deletions
  1. +11
    -0
      src/Discord.Net.WebSocket/DiscordSocketClient.cs
  2. +3
    -0
      src/Discord.Net.WebSocket/DiscordSocketConfig.cs

+ 11
- 0
src/Discord.Net.WebSocket/DiscordSocketClient.cs View File

@@ -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>();
}


+ 3
- 0
src/Discord.Net.WebSocket/DiscordSocketConfig.cs View File

@@ -28,5 +28,8 @@ namespace Discord.WebSocket

/// <summary> Gets or sets the provider used to generate new websocket connections. </summary>
public WebSocketProvider WebSocketProvider { get; set; } = () => new DefaultWebSocketClient();

/// <summary> Gets or sets whether or not all users should be downloaded as guilds come available. </summary>
public bool DownloadUsersOnGuildAvailable { get; set; } = false;
}
}

Loading…
Cancel
Save