Browse Source

Backwards compatability with config option

pull/1236/head
NovusTheory 6 years ago
parent
commit
98656784e4
2 changed files with 12 additions and 1 deletions
  1. +7
    -1
      src/Discord.Net.WebSocket/DiscordSocketClient.cs
  2. +5
    -0
      src/Discord.Net.WebSocket/DiscordSocketConfig.cs

+ 7
- 1
src/Discord.Net.WebSocket/DiscordSocketClient.cs View File

@@ -66,6 +66,7 @@ namespace Discord.WebSocket
internal WebSocketProvider WebSocketProvider { get; private set; }
internal bool AlwaysDownloadUsers { get; private set; }
internal int? HandlerTimeout { get; private set; }
internal bool UseMessagesBulkDeletedOnly { get; private set; }

internal new DiscordSocketApiClient ApiClient => base.ApiClient as DiscordSocketApiClient;
/// <inheritdoc />
@@ -128,6 +129,7 @@ namespace Discord.WebSocket
WebSocketProvider = config.WebSocketProvider;
AlwaysDownloadUsers = config.AlwaysDownloadUsers;
HandlerTimeout = config.HandlerTimeout;
UseMessagesBulkDeletedOnly = config.UseMessagesBulkDeletedOnly;
State = new ClientState(0, 0);
Rest = new DiscordSocketRestClient(config, ApiClient);
_heartbeatTimes = new ConcurrentQueue<long>();
@@ -1366,7 +1368,11 @@ namespace Discord.WebSocket
{
var msg = SocketChannelHelper.RemoveMessage(channel, this, id);
bool isCached = msg != null;
cacheableList = cacheableList.Add(new Cacheable<IMessage, ulong>(msg, id, isCached, async () => await channel.GetMessageAsync(id).ConfigureAwait(false)));
var cacheable = new Cacheable<IMessage, ulong>(msg, id, isCached, async () => await channel.GetMessageAsync(id).ConfigureAwait(false));
cacheableList = cacheableList.Add(cacheable);

if (!UseMessagesBulkDeletedOnly)
await TimedInvokeAsync(_messageDeletedEvent, nameof(MessageDeleted), cacheable, channel).ConfigureAwait(false);
}

await TimedInvokeAsync(_messagesBulkDeletedEvent, nameof(MessagesBulkDeleted), cacheableList, channel).ConfigureAwait(false);


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

@@ -104,6 +104,11 @@ namespace Discord.WebSocket
/// </summary>
public int? HandlerTimeout { get; set; } = 3000;

/// <summary>
/// Gets or sets whether or not <see cref="Discord.WebSocket.BaseSocketClient.MessageDeleted"/> is fired for each message on bulk delete.
/// </summary>
public bool UseMessagesBulkDeletedOnly { get; set; } = false;

/// <summary>
/// Initializes a default configuration.
/// </summary>


Loading…
Cancel
Save