* Implement DeleteMessageAsync * Refer to MessageHelper instead of duplicating call * Fix refactor errortags/2.0
| @@ -30,6 +30,11 @@ namespace Discord | |||||
| /// <summary> Gets a collection of pinned messages in this channel. </summary> | /// <summary> Gets a collection of pinned messages in this channel. </summary> | ||||
| Task<IReadOnlyCollection<IMessage>> GetPinnedMessagesAsync(RequestOptions options = null); | Task<IReadOnlyCollection<IMessage>> GetPinnedMessagesAsync(RequestOptions options = null); | ||||
| /// <summary> Deletes a message based on the message ID in this channel. </summary> | |||||
| Task DeleteMessageAsync(ulong messageId, RequestOptions options = null); | |||||
| /// <summary> Deletes a message based on the provided message in this channel. </summary> | |||||
| Task DeleteMessageAsync(IMessage message, RequestOptions options = null); | |||||
| /// <summary> Broadcasts the "user is typing" message to all users in this channel, lasting 10 seconds. </summary> | /// <summary> Broadcasts the "user is typing" message to all users in this channel, lasting 10 seconds. </summary> | ||||
| Task TriggerTypingAsync(RequestOptions options = null); | Task TriggerTypingAsync(RequestOptions options = null); | ||||
| /// <summary> Continuously broadcasts the "user is typing" message to all users in this channel until the returned object is disposed. </summary> | /// <summary> Continuously broadcasts the "user is typing" message to all users in this channel until the returned object is disposed. </summary> | ||||
| @@ -185,6 +185,10 @@ namespace Discord.Rest | |||||
| return RestUserMessage.Create(client, channel, client.CurrentUser, model); | return RestUserMessage.Create(client, channel, client.CurrentUser, model); | ||||
| } | } | ||||
| public static Task DeleteMessageAsync(IMessageChannel channel, ulong messageId, BaseDiscordClient client, | |||||
| RequestOptions options) | |||||
| => MessageHelper.DeleteAsync(channel.Id, messageId, client, options); | |||||
| public static async Task DeleteMessagesAsync(ITextChannel channel, BaseDiscordClient client, | public static async Task DeleteMessagesAsync(ITextChannel channel, BaseDiscordClient client, | ||||
| IEnumerable<ulong> messageIds, RequestOptions options) | IEnumerable<ulong> messageIds, RequestOptions options) | ||||
| { | { | ||||
| @@ -72,6 +72,11 @@ namespace Discord.Rest | |||||
| public Task<RestUserMessage> SendFileAsync(Stream stream, string filename, string text, bool isTTS = false, Embed embed = null, RequestOptions options = null) | public Task<RestUserMessage> SendFileAsync(Stream stream, string filename, string text, bool isTTS = false, Embed embed = null, RequestOptions options = null) | ||||
| => ChannelHelper.SendFileAsync(this, Discord, stream, filename, text, isTTS, embed, options); | => ChannelHelper.SendFileAsync(this, Discord, stream, filename, text, isTTS, embed, options); | ||||
| public Task DeleteMessageAsync(ulong messageId, RequestOptions options = null) | |||||
| => ChannelHelper.DeleteMessageAsync(this, messageId, Discord, options); | |||||
| public Task DeleteMessageAsync(IMessage message, RequestOptions options = null) | |||||
| => ChannelHelper.DeleteMessageAsync(this, message.Id, Discord, options); | |||||
| public Task TriggerTypingAsync(RequestOptions options = null) | public Task TriggerTypingAsync(RequestOptions options = null) | ||||
| => ChannelHelper.TriggerTypingAsync(this, Discord, options); | => ChannelHelper.TriggerTypingAsync(this, Discord, options); | ||||
| public IDisposable EnterTypingState(RequestOptions options = null) | public IDisposable EnterTypingState(RequestOptions options = null) | ||||
| @@ -76,6 +76,11 @@ namespace Discord.Rest | |||||
| public Task<IReadOnlyCollection<RestMessage>> GetPinnedMessagesAsync(RequestOptions options = null) | public Task<IReadOnlyCollection<RestMessage>> GetPinnedMessagesAsync(RequestOptions options = null) | ||||
| => ChannelHelper.GetPinnedMessagesAsync(this, Discord, options); | => ChannelHelper.GetPinnedMessagesAsync(this, Discord, options); | ||||
| public Task DeleteMessageAsync(ulong messageId, RequestOptions options = null) | |||||
| => ChannelHelper.DeleteMessageAsync(this, messageId, Discord, options); | |||||
| public Task DeleteMessageAsync(IMessage message, RequestOptions options = null) | |||||
| => ChannelHelper.DeleteMessageAsync(this, message.Id, Discord, options); | |||||
| public Task<RestUserMessage> SendMessageAsync(string text = null, bool isTTS = false, Embed embed = null, RequestOptions options = null) | public Task<RestUserMessage> SendMessageAsync(string text = null, bool isTTS = false, Embed embed = null, RequestOptions options = null) | ||||
| => ChannelHelper.SendMessageAsync(this, Discord, text, isTTS, embed, options); | => ChannelHelper.SendMessageAsync(this, Discord, text, isTTS, embed, options); | ||||
| #if FILESYSTEM | #if FILESYSTEM | ||||
| @@ -67,6 +67,11 @@ namespace Discord.Rest | |||||
| public Task<RestUserMessage> SendFileAsync(Stream stream, string filename, string text, bool isTTS = false, Embed embed = null, RequestOptions options = null) | public Task<RestUserMessage> SendFileAsync(Stream stream, string filename, string text, bool isTTS = false, Embed embed = null, RequestOptions options = null) | ||||
| => ChannelHelper.SendFileAsync(this, Discord, stream, filename, text, isTTS, embed, options); | => ChannelHelper.SendFileAsync(this, Discord, stream, filename, text, isTTS, embed, options); | ||||
| public Task DeleteMessageAsync(ulong messageId, RequestOptions options = null) | |||||
| => ChannelHelper.DeleteMessageAsync(this, messageId, Discord, options); | |||||
| public Task DeleteMessageAsync(IMessage message, RequestOptions options = null) | |||||
| => ChannelHelper.DeleteMessageAsync(this, message.Id, Discord, options); | |||||
| public Task DeleteMessagesAsync(IEnumerable<IMessage> messages, RequestOptions options = null) | public Task DeleteMessagesAsync(IEnumerable<IMessage> messages, RequestOptions options = null) | ||||
| => ChannelHelper.DeleteMessagesAsync(this, Discord, messages.Select(x => x.Id), options); | => ChannelHelper.DeleteMessagesAsync(this, Discord, messages.Select(x => x.Id), options); | ||||
| public Task DeleteMessagesAsync(IEnumerable<ulong> messageIds, RequestOptions options = null) | public Task DeleteMessagesAsync(IEnumerable<ulong> messageIds, RequestOptions options = null) | ||||
| @@ -42,6 +42,11 @@ namespace Discord.Rest | |||||
| public Task<RestUserMessage> SendFileAsync(Stream stream, string filename, string text, bool isTTS = false, Embed embed = null, RequestOptions options = null) | public Task<RestUserMessage> SendFileAsync(Stream stream, string filename, string text, bool isTTS = false, Embed embed = null, RequestOptions options = null) | ||||
| => ChannelHelper.SendFileAsync(this, Discord, stream, filename, text, isTTS, embed, options); | => ChannelHelper.SendFileAsync(this, Discord, stream, filename, text, isTTS, embed, options); | ||||
| public Task DeleteMessageAsync(ulong messageId, RequestOptions options = null) | |||||
| => ChannelHelper.DeleteMessageAsync(this, messageId, Discord, options); | |||||
| public Task DeleteMessageAsync(IMessage message, RequestOptions options = null) | |||||
| => ChannelHelper.DeleteMessageAsync(this, message.Id, Discord, options); | |||||
| public Task TriggerTypingAsync(RequestOptions options = null) | public Task TriggerTypingAsync(RequestOptions options = null) | ||||
| => ChannelHelper.TriggerTypingAsync(this, Discord, options); | => ChannelHelper.TriggerTypingAsync(this, Discord, options); | ||||
| public IDisposable EnterTypingState(RequestOptions options = null) | public IDisposable EnterTypingState(RequestOptions options = null) | ||||
| @@ -25,10 +25,12 @@ namespace Discord.Rest | |||||
| }; | }; | ||||
| return await client.ApiClient.ModifyMessageAsync(msg.Channel.Id, msg.Id, apiArgs, options).ConfigureAwait(false); | return await client.ApiClient.ModifyMessageAsync(msg.Channel.Id, msg.Id, apiArgs, options).ConfigureAwait(false); | ||||
| } | } | ||||
| public static async Task DeleteAsync(IMessage msg, BaseDiscordClient client, | |||||
| public static Task DeleteAsync(IMessage msg, BaseDiscordClient client, RequestOptions options) | |||||
| => DeleteAsync(msg.Channel.Id, msg.Id, client, options); | |||||
| public static async Task DeleteAsync(ulong channelId, ulong msgId, BaseDiscordClient client, | |||||
| RequestOptions options) | RequestOptions options) | ||||
| { | { | ||||
| await client.ApiClient.DeleteMessageAsync(msg.Channel.Id, msg.Id, options).ConfigureAwait(false); | |||||
| await client.ApiClient.DeleteMessageAsync(channelId, msgId, options).ConfigureAwait(false); | |||||
| } | } | ||||
| public static async Task AddReactionAsync(IMessage msg, IEmote emote, BaseDiscordClient client, RequestOptions options) | public static async Task AddReactionAsync(IMessage msg, IEmote emote, BaseDiscordClient client, RequestOptions options) | ||||
| @@ -76,6 +76,11 @@ namespace Discord.WebSocket | |||||
| public Task<RestUserMessage> SendFileAsync(Stream stream, string filename, string text, bool isTTS = false, Embed embed = null, RequestOptions options = null) | public Task<RestUserMessage> SendFileAsync(Stream stream, string filename, string text, bool isTTS = false, Embed embed = null, RequestOptions options = null) | ||||
| => ChannelHelper.SendFileAsync(this, Discord, stream, filename, text, isTTS, embed, options); | => ChannelHelper.SendFileAsync(this, Discord, stream, filename, text, isTTS, embed, options); | ||||
| public Task DeleteMessageAsync(ulong messageId, RequestOptions options = null) | |||||
| => ChannelHelper.DeleteMessageAsync(this, messageId, Discord, options); | |||||
| public Task DeleteMessageAsync(IMessage message, RequestOptions options = null) | |||||
| => ChannelHelper.DeleteMessageAsync(this, message.Id, Discord, options); | |||||
| public Task TriggerTypingAsync(RequestOptions options = null) | public Task TriggerTypingAsync(RequestOptions options = null) | ||||
| => ChannelHelper.TriggerTypingAsync(this, Discord, options); | => ChannelHelper.TriggerTypingAsync(this, Discord, options); | ||||
| public IDisposable EnterTypingState(RequestOptions options = null) | public IDisposable EnterTypingState(RequestOptions options = null) | ||||
| @@ -104,6 +104,11 @@ namespace Discord.WebSocket | |||||
| public Task<RestUserMessage> SendFileAsync(Stream stream, string filename, string text, bool isTTS = false, Embed embed = null, RequestOptions options = null) | public Task<RestUserMessage> SendFileAsync(Stream stream, string filename, string text, bool isTTS = false, Embed embed = null, RequestOptions options = null) | ||||
| => ChannelHelper.SendFileAsync(this, Discord, stream, filename, text, isTTS, embed, options); | => ChannelHelper.SendFileAsync(this, Discord, stream, filename, text, isTTS, embed, options); | ||||
| public Task DeleteMessageAsync(ulong messageId, RequestOptions options = null) | |||||
| => ChannelHelper.DeleteMessageAsync(this, messageId, Discord, options); | |||||
| public Task DeleteMessageAsync(IMessage message, RequestOptions options = null) | |||||
| => ChannelHelper.DeleteMessageAsync(this, message.Id, Discord, options); | |||||
| public Task TriggerTypingAsync(RequestOptions options = null) | public Task TriggerTypingAsync(RequestOptions options = null) | ||||
| => ChannelHelper.TriggerTypingAsync(this, Discord, options); | => ChannelHelper.TriggerTypingAsync(this, Discord, options); | ||||
| public IDisposable EnterTypingState(RequestOptions options = null) | public IDisposable EnterTypingState(RequestOptions options = null) | ||||
| @@ -89,6 +89,11 @@ namespace Discord.WebSocket | |||||
| public Task DeleteMessagesAsync(IEnumerable<ulong> messageIds, RequestOptions options = null) | public Task DeleteMessagesAsync(IEnumerable<ulong> messageIds, RequestOptions options = null) | ||||
| => ChannelHelper.DeleteMessagesAsync(this, Discord, messageIds, options); | => ChannelHelper.DeleteMessagesAsync(this, Discord, messageIds, options); | ||||
| public Task DeleteMessageAsync(ulong messageId, RequestOptions options = null) | |||||
| => ChannelHelper.DeleteMessageAsync(this, messageId, Discord, options); | |||||
| public Task DeleteMessageAsync(IMessage message, RequestOptions options = null) | |||||
| => ChannelHelper.DeleteMessageAsync(this, message.Id, Discord, options); | |||||
| public Task TriggerTypingAsync(RequestOptions options = null) | public Task TriggerTypingAsync(RequestOptions options = null) | ||||
| => ChannelHelper.TriggerTypingAsync(this, Discord, options); | => ChannelHelper.TriggerTypingAsync(this, Discord, options); | ||||
| public IDisposable EnterTypingState(RequestOptions options = null) | public IDisposable EnterTypingState(RequestOptions options = null) | ||||