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 WebSocketProvider WebSocketProvider { get; private set; }
internal bool AlwaysDownloadUsers { get; private set; } internal bool AlwaysDownloadUsers { get; private set; }
internal int? HandlerTimeout { get; private set; } internal int? HandlerTimeout { get; private set; }
internal bool UseMessagesBulkDeletedOnly { get; private set; }


internal new DiscordSocketApiClient ApiClient => base.ApiClient as DiscordSocketApiClient; internal new DiscordSocketApiClient ApiClient => base.ApiClient as DiscordSocketApiClient;
/// <inheritdoc /> /// <inheritdoc />
@@ -128,6 +129,7 @@ namespace Discord.WebSocket
WebSocketProvider = config.WebSocketProvider; WebSocketProvider = config.WebSocketProvider;
AlwaysDownloadUsers = config.AlwaysDownloadUsers; AlwaysDownloadUsers = config.AlwaysDownloadUsers;
HandlerTimeout = config.HandlerTimeout; HandlerTimeout = config.HandlerTimeout;
UseMessagesBulkDeletedOnly = config.UseMessagesBulkDeletedOnly;
State = new ClientState(0, 0); State = new ClientState(0, 0);
Rest = new DiscordSocketRestClient(config, ApiClient); Rest = new DiscordSocketRestClient(config, ApiClient);
_heartbeatTimes = new ConcurrentQueue<long>(); _heartbeatTimes = new ConcurrentQueue<long>();
@@ -1366,7 +1368,11 @@ namespace Discord.WebSocket
{ {
var msg = SocketChannelHelper.RemoveMessage(channel, this, id); var msg = SocketChannelHelper.RemoveMessage(channel, this, id);
bool isCached = msg != null; 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); 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> /// </summary>
public int? HandlerTimeout { get; set; } = 3000; 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> /// <summary>
/// Initializes a default configuration. /// Initializes a default configuration.
/// </summary> /// </summary>


Loading…
Cancel
Save