Browse Source

Merge pull request #74 from khionu/master

Add BulkMessageDelete Functionality
pull/96/head
RogueException 9 years ago
parent
commit
4e2b919de8
3 changed files with 33 additions and 0 deletions
  1. +3
    -0
      src/Discord.Net.Net45/Discord.Net.csproj
  2. +23
    -0
      src/Discord.Net/API/Client/Rest/BulkMessageDelete.cs
  3. +7
    -0
      src/Discord.Net/Models/Channel.cs

+ 3
- 0
src/Discord.Net.Net45/Discord.Net.csproj View File

@@ -241,6 +241,9 @@
<Compile Include="..\Discord.Net\API\Client\Rest\AddGuildBan.cs">
<Link>API\Client\Rest\AddGuildBan.cs</Link>
</Compile>
<Compile Include="..\Discord.Net\API\Client\Rest\BulkMessageDelete.cs">
<Link>API\Client\Rest\BulkMessageDelete.cs</Link>
</Compile>
<Compile Include="..\Discord.Net\API\Client\Rest\CreateChannel.cs">
<Link>API\Client\Rest\CreateChannel.cs</Link>
</Compile>


+ 23
- 0
src/Discord.Net/API/Client/Rest/BulkMessageDelete.cs View File

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

+ 7
- 0
src/Discord.Net/Models/Channel.cs View File

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


Loading…
Cancel
Save