| @@ -0,0 +1 @@ | |||||
| @@ -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> | ||||
| @@ -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; } | |||||
| } | |||||
| } | |||||
| @@ -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); } | ||||