added MESSAGE_DELETE_BULK
This commit is contained in:
13
src/Discord.Net/API/Gateway/MessageDeleteBulkEvent.cs
Normal file
13
src/Discord.Net/API/Gateway/MessageDeleteBulkEvent.cs
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
using Newtonsoft.Json;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace Discord.API.Gateway
|
||||||
|
{
|
||||||
|
public class MessageDeleteBulkEvent
|
||||||
|
{
|
||||||
|
[JsonProperty("channel_id")]
|
||||||
|
public ulong ChannelId { get; set; }
|
||||||
|
[JsonProperty("ids")]
|
||||||
|
public IEnumerable<ulong> Ids { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -805,6 +805,27 @@ namespace Discord
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case "MESSAGE_DELETE_BULK":
|
||||||
|
{
|
||||||
|
await _gatewayLogger.DebugAsync("Received Dispatch (MESSAGE_DELETE_BULK)").ConfigureAwait(false);
|
||||||
|
|
||||||
|
var data = (payload as JToken).ToObject<MessageDeleteBulkEvent>(_serializer);
|
||||||
|
var channel = DataStore.GetChannel(data.ChannelId) as ICachedMessageChannel;
|
||||||
|
if (channel != null)
|
||||||
|
{
|
||||||
|
foreach (var id in data.Ids)
|
||||||
|
{
|
||||||
|
var msg = channel.RemoveMessage(id);
|
||||||
|
await MessageDeleted.RaiseAsync(msg).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
await _gatewayLogger.WarningAsync("MESSAGE_DELETE_BULK referenced an unknown channel.").ConfigureAwait(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
//Statuses
|
//Statuses
|
||||||
case "PRESENCE_UPDATE":
|
case "PRESENCE_UPDATE":
|
||||||
|
|||||||
Reference in New Issue
Block a user