Browse Source

Added BulkMessageDelete

pull/73/head
Khionu Terabite 9 years ago
parent
commit
4e43f2b014
4 changed files with 54 additions and 0 deletions
  1. +23
    -0
      src/Discord.Net.Net45/API/Client/Rest/BulkMessageDelete.cs
  2. +1
    -0
      src/Discord.Net.Net45/Discord.Net.csproj
  3. +23
    -0
      src/Discord.Net/API/Client/Rest/BulkMessageDelete.cs
  4. +7
    -0
      src/Discord.Net/Models/Channel.cs

+ 23
- 0
src/Discord.Net.Net45/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; }
}
}

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

@@ -607,6 +607,7 @@
<Compile Include="..\Discord.Net\TaskManager.cs"> <Compile Include="..\Discord.Net\TaskManager.cs">
<Link>TaskManager.cs</Link> <Link>TaskManager.cs</Link>
</Compile> </Compile>
<Compile Include="API\Client\Rest\BulkMessageDelete.cs" />
<Compile Include="Enums\GameType.cs" /> <Compile Include="Enums\GameType.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup> </ItemGroup>


+ 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() public async Task Delete()
{ {
try { await Client.ClientAPI.Send(new DeleteChannelRequest(Id)).ConfigureAwait(false); } try { await Client.ClientAPI.Send(new DeleteChannelRequest(Id)).ConfigureAwait(false); }


Loading…
Cancel
Save