From 4e43f2b01477f263965cf3e624027360cd6041dc Mon Sep 17 00:00:00 2001 From: Khionu Terabite Date: Mon, 6 Jun 2016 18:59:25 -0400 Subject: [PATCH 1/4] Added BulkMessageDelete --- .../API/Client/Rest/BulkMessageDelete.cs | 23 +++++++++++++++++++ src/Discord.Net.Net45/Discord.Net.csproj | 1 + .../API/Client/Rest/BulkMessageDelete.cs | 23 +++++++++++++++++++ src/Discord.Net/Models/Channel.cs | 7 ++++++ 4 files changed, 54 insertions(+) create mode 100644 src/Discord.Net.Net45/API/Client/Rest/BulkMessageDelete.cs create mode 100644 src/Discord.Net/API/Client/Rest/BulkMessageDelete.cs diff --git a/src/Discord.Net.Net45/API/Client/Rest/BulkMessageDelete.cs b/src/Discord.Net.Net45/API/Client/Rest/BulkMessageDelete.cs new file mode 100644 index 000000000..5eb352035 --- /dev/null +++ b/src/Discord.Net.Net45/API/Client/Rest/BulkMessageDelete.cs @@ -0,0 +1,23 @@ +using Newtonsoft.Json; + + namespace Discord.API.Client.Rest + { + [JsonObject(MemberSerialization.OptIn)] + public class BulkMessageDelete : IRestRequest + { + string IRestRequest.Endpoint => $"/channels/{ChannelId}/messages/bulk_delete"; + string IRestRequest.Method => "POST"; + object IRestRequest.Payload => this; + + public ulong ChannelId { get; set; } + + public BulkMessageDelete(ulong channelId, ulong[] messageIds) + { + ChannelId = channelId; + MessageIds = messageIds; + } + + [JsonProperty("messages")] + public ulong[] MessageIds { get; set; } + } + } \ No newline at end of file diff --git a/src/Discord.Net.Net45/Discord.Net.csproj b/src/Discord.Net.Net45/Discord.Net.csproj index 6281ff4e4..58adc19f7 100644 --- a/src/Discord.Net.Net45/Discord.Net.csproj +++ b/src/Discord.Net.Net45/Discord.Net.csproj @@ -607,6 +607,7 @@ TaskManager.cs + diff --git a/src/Discord.Net/API/Client/Rest/BulkMessageDelete.cs b/src/Discord.Net/API/Client/Rest/BulkMessageDelete.cs new file mode 100644 index 000000000..5eb352035 --- /dev/null +++ b/src/Discord.Net/API/Client/Rest/BulkMessageDelete.cs @@ -0,0 +1,23 @@ +using Newtonsoft.Json; + + namespace Discord.API.Client.Rest + { + [JsonObject(MemberSerialization.OptIn)] + public class BulkMessageDelete : IRestRequest + { + string IRestRequest.Endpoint => $"/channels/{ChannelId}/messages/bulk_delete"; + string IRestRequest.Method => "POST"; + object IRestRequest.Payload => this; + + public ulong ChannelId { get; set; } + + public BulkMessageDelete(ulong channelId, ulong[] messageIds) + { + ChannelId = channelId; + MessageIds = messageIds; + } + + [JsonProperty("messages")] + public ulong[] MessageIds { get; set; } + } + } \ No newline at end of file diff --git a/src/Discord.Net/Models/Channel.cs b/src/Discord.Net/Models/Channel.cs index 5037c88bc..03eb5d610 100644 --- a/src/Discord.Net/Models/Channel.cs +++ b/src/Discord.Net/Models/Channel.cs @@ -200,6 +200,13 @@ namespace Discord } } + public async Task DeleteMessages(Message[] messages) => await DeleteMessages(messages.Select(m => m.Id).ToArray()); + + public async Task DeleteMessages(ulong[] messageIds) + { + await Client.ClientAPI.Send(new BulkMessageDelete(Id, messageIds)); + } + public async Task Delete() { try { await Client.ClientAPI.Send(new DeleteChannelRequest(Id)).ConfigureAwait(false); } From 8bd02d437795cf7168a0004cb3cc2ceaca2002d1 Mon Sep 17 00:00:00 2001 From: Khionu Terabite Date: Mon, 6 Jun 2016 19:12:35 -0400 Subject: [PATCH 2/4] Removed redundant Class File --- .../API/Client/Rest/BulkMessageDelete.cs | 23 ------------------- 1 file changed, 23 deletions(-) delete mode 100644 src/Discord.Net.Net45/API/Client/Rest/BulkMessageDelete.cs diff --git a/src/Discord.Net.Net45/API/Client/Rest/BulkMessageDelete.cs b/src/Discord.Net.Net45/API/Client/Rest/BulkMessageDelete.cs deleted file mode 100644 index 5eb352035..000000000 --- a/src/Discord.Net.Net45/API/Client/Rest/BulkMessageDelete.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Newtonsoft.Json; - - namespace Discord.API.Client.Rest - { - [JsonObject(MemberSerialization.OptIn)] - public class BulkMessageDelete : IRestRequest - { - string IRestRequest.Endpoint => $"/channels/{ChannelId}/messages/bulk_delete"; - string IRestRequest.Method => "POST"; - object IRestRequest.Payload => this; - - public ulong ChannelId { get; set; } - - public BulkMessageDelete(ulong channelId, ulong[] messageIds) - { - ChannelId = channelId; - MessageIds = messageIds; - } - - [JsonProperty("messages")] - public ulong[] MessageIds { get; set; } - } - } \ No newline at end of file From f7014762537fbc2cbe29807603726b266839c255 Mon Sep 17 00:00:00 2001 From: Khionu Terabite Date: Mon, 6 Jun 2016 19:15:50 -0400 Subject: [PATCH 3/4] Follow up from previous commit --- .../API/Client/Rest/BulkMessageDelete.cs | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/Discord.Net.Net45/API/Client/Rest/BulkMessageDelete.cs diff --git a/src/Discord.Net.Net45/API/Client/Rest/BulkMessageDelete.cs b/src/Discord.Net.Net45/API/Client/Rest/BulkMessageDelete.cs new file mode 100644 index 000000000..5eb352035 --- /dev/null +++ b/src/Discord.Net.Net45/API/Client/Rest/BulkMessageDelete.cs @@ -0,0 +1,23 @@ +using Newtonsoft.Json; + + namespace Discord.API.Client.Rest + { + [JsonObject(MemberSerialization.OptIn)] + public class BulkMessageDelete : IRestRequest + { + string IRestRequest.Endpoint => $"/channels/{ChannelId}/messages/bulk_delete"; + string IRestRequest.Method => "POST"; + object IRestRequest.Payload => this; + + public ulong ChannelId { get; set; } + + public BulkMessageDelete(ulong channelId, ulong[] messageIds) + { + ChannelId = channelId; + MessageIds = messageIds; + } + + [JsonProperty("messages")] + public ulong[] MessageIds { get; set; } + } + } \ No newline at end of file From 6ebfc37ea79fa6dc2804d5f238f55ec096bc8536 Mon Sep 17 00:00:00 2001 From: Khionu Terabite Date: Mon, 6 Jun 2016 21:08:19 -0400 Subject: [PATCH 4/4] Update BulkMessageDelete.cs --- .../API/Client/Rest/BulkMessageDelete.cs | 24 +------------------ 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/src/Discord.Net.Net45/API/Client/Rest/BulkMessageDelete.cs b/src/Discord.Net.Net45/API/Client/Rest/BulkMessageDelete.cs index 5eb352035..8b1378917 100644 --- a/src/Discord.Net.Net45/API/Client/Rest/BulkMessageDelete.cs +++ b/src/Discord.Net.Net45/API/Client/Rest/BulkMessageDelete.cs @@ -1,23 +1 @@ -using Newtonsoft.Json; - - namespace Discord.API.Client.Rest - { - [JsonObject(MemberSerialization.OptIn)] - public class BulkMessageDelete : IRestRequest - { - string IRestRequest.Endpoint => $"/channels/{ChannelId}/messages/bulk_delete"; - string IRestRequest.Method => "POST"; - object IRestRequest.Payload => this; - - public ulong ChannelId { get; set; } - - public BulkMessageDelete(ulong channelId, ulong[] messageIds) - { - ChannelId = channelId; - MessageIds = messageIds; - } - - [JsonProperty("messages")] - public ulong[] MessageIds { get; set; } - } - } \ No newline at end of file +