Support the "Clear Reactions" endpoint
This commit is contained in:
@@ -536,6 +536,17 @@ namespace Discord.API
|
|||||||
|
|
||||||
await SendAsync("DELETE", () => $"channels/{channelId}/messages/{messageId}/reactions/{emoji}/{userId}", ids, options: options).ConfigureAwait(false);
|
await SendAsync("DELETE", () => $"channels/{channelId}/messages/{messageId}/reactions/{emoji}/{userId}", ids, options: options).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
public async Task RemoveAllReactionsAsync(ulong channelId, ulong messageId, RequestOptions options = null)
|
||||||
|
{
|
||||||
|
Preconditions.NotEqual(channelId, 0, nameof(channelId));
|
||||||
|
Preconditions.NotEqual(messageId, 0, nameof(messageId));
|
||||||
|
|
||||||
|
options = RequestOptions.CreateOrClone(options);
|
||||||
|
|
||||||
|
var ids = new BucketIds(channelId: channelId);
|
||||||
|
|
||||||
|
await SendAsync("DELETE", () => $"channels/{channelId}/messages/{messageId}/reactions", ids, options: options).ConfigureAwait(false);
|
||||||
|
}
|
||||||
public async Task<IReadOnlyCollection<User>> GetReactionUsersAsync(ulong channelId, ulong messageId, string emoji, GetReactionUsersParams args, RequestOptions options = null)
|
public async Task<IReadOnlyCollection<User>> GetReactionUsersAsync(ulong channelId, ulong messageId, string emoji, GetReactionUsersParams args, RequestOptions options = null)
|
||||||
{
|
{
|
||||||
Preconditions.NotEqual(channelId, 0, nameof(channelId));
|
Preconditions.NotEqual(channelId, 0, nameof(channelId));
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ namespace Discord
|
|||||||
Task RemoveReactionAsync(Emoji emoji, IUser user, RequestOptions options = null);
|
Task RemoveReactionAsync(Emoji emoji, IUser user, RequestOptions options = null);
|
||||||
/// <summary> Removes a reaction from this message. </summary>
|
/// <summary> Removes a reaction from this message. </summary>
|
||||||
Task RemoveReactionAsync(string emoji, IUser user, RequestOptions options = null);
|
Task RemoveReactionAsync(string emoji, IUser user, RequestOptions options = null);
|
||||||
|
/// <summary> Removes all reactions from this message. </summary>
|
||||||
|
Task RemoveAllReactionsAsync(RequestOptions options = null);
|
||||||
Task<IReadOnlyCollection<IUser>> GetReactionUsersAsync(string emoji, int limit = 100, ulong? afterUserId = null, RequestOptions options = null);
|
Task<IReadOnlyCollection<IUser>> GetReactionUsersAsync(string emoji, int limit = 100, ulong? afterUserId = null, RequestOptions options = null);
|
||||||
|
|
||||||
/// <summary> Transforms this message's text into a human readable form by resolving its tags. </summary>
|
/// <summary> Transforms this message's text into a human readable form by resolving its tags. </summary>
|
||||||
|
|||||||
@@ -38,6 +38,11 @@ namespace Discord.Rest
|
|||||||
await client.ApiClient.RemoveReactionAsync(msg.Channel.Id, msg.Id, user.Id, emoji, options).ConfigureAwait(false);
|
await client.ApiClient.RemoveReactionAsync(msg.Channel.Id, msg.Id, user.Id, emoji, options).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static async Task RemoveAllReactionsAsync(IMessage msg, BaseDiscordClient client, RequestOptions options)
|
||||||
|
{
|
||||||
|
await client.ApiClient.RemoveAllReactionsAsync(msg.Channel.Id, msg.Id, options);
|
||||||
|
}
|
||||||
|
|
||||||
public static async Task<IReadOnlyCollection<IUser>> GetReactionUsersAsync(IMessage msg, string emoji,
|
public static async Task<IReadOnlyCollection<IUser>> GetReactionUsersAsync(IMessage msg, string emoji,
|
||||||
Action<GetReactionUsersParams> func, BaseDiscordClient client, RequestOptions options)
|
Action<GetReactionUsersParams> func, BaseDiscordClient client, RequestOptions options)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -142,6 +142,9 @@ namespace Discord.Rest
|
|||||||
=> MessageHelper.RemoveReactionAsync(this, user, emoji, Discord, options);
|
=> MessageHelper.RemoveReactionAsync(this, user, emoji, Discord, options);
|
||||||
public Task RemoveReactionAsync(string emoji, IUser user, RequestOptions options = null)
|
public Task RemoveReactionAsync(string emoji, IUser user, RequestOptions options = null)
|
||||||
=> MessageHelper.RemoveReactionAsync(this, user, emoji, Discord, options);
|
=> MessageHelper.RemoveReactionAsync(this, user, emoji, Discord, options);
|
||||||
|
|
||||||
|
public Task RemoveAllReactionsAsync(RequestOptions options = null)
|
||||||
|
=> MessageHelper.RemoveAllReactionsAsync(this, Discord, options);
|
||||||
|
|
||||||
public Task<IReadOnlyCollection<IUser>> GetReactionUsersAsync(string emoji, int limit = 100, ulong? afterUserId = null, RequestOptions options = null)
|
public Task<IReadOnlyCollection<IUser>> GetReactionUsersAsync(string emoji, int limit = 100, ulong? afterUserId = null, RequestOptions options = null)
|
||||||
=> MessageHelper.GetReactionUsersAsync(this, emoji, x => { x.Limit = limit; x.AfterUserId = afterUserId.HasValue ? afterUserId.Value : Optional.Create<ulong>(); }, Discord, options);
|
=> MessageHelper.GetReactionUsersAsync(this, emoji, x => { x.Limit = limit; x.AfterUserId = afterUserId.HasValue ? afterUserId.Value : Optional.Create<ulong>(); }, Discord, options);
|
||||||
|
|||||||
@@ -111,6 +111,9 @@ namespace Discord.Rpc
|
|||||||
=> MessageHelper.RemoveReactionAsync(this, user, emoji, Discord, options);
|
=> MessageHelper.RemoveReactionAsync(this, user, emoji, Discord, options);
|
||||||
public Task RemoveReactionAsync(string emoji, IUser user, RequestOptions options = null)
|
public Task RemoveReactionAsync(string emoji, IUser user, RequestOptions options = null)
|
||||||
=> MessageHelper.RemoveReactionAsync(this, user, emoji, Discord, options);
|
=> MessageHelper.RemoveReactionAsync(this, user, emoji, Discord, options);
|
||||||
|
|
||||||
|
public Task RemoveAllReactionsAsync(RequestOptions options = null)
|
||||||
|
=> MessageHelper.RemoveAllReactionsAsync(this, Discord, options);
|
||||||
|
|
||||||
public Task<IReadOnlyCollection<IUser>> GetReactionUsersAsync(string emoji, int limit, ulong? afterUserId, RequestOptions options = null)
|
public Task<IReadOnlyCollection<IUser>> GetReactionUsersAsync(string emoji, int limit, ulong? afterUserId, RequestOptions options = null)
|
||||||
=> MessageHelper.GetReactionUsersAsync(this, emoji, x => { x.Limit = limit; x.AfterUserId = afterUserId.HasValue ? afterUserId.Value : Optional.Create<ulong>(); }, Discord, options);
|
=> MessageHelper.GetReactionUsersAsync(this, emoji, x => { x.Limit = limit; x.AfterUserId = afterUserId.HasValue ? afterUserId.Value : Optional.Create<ulong>(); }, Discord, options);
|
||||||
|
|||||||
@@ -136,6 +136,9 @@ namespace Discord.WebSocket
|
|||||||
public Task RemoveReactionAsync(string emoji, IUser user, RequestOptions options = null)
|
public Task RemoveReactionAsync(string emoji, IUser user, RequestOptions options = null)
|
||||||
=> MessageHelper.RemoveReactionAsync(this, user, emoji, Discord, options);
|
=> MessageHelper.RemoveReactionAsync(this, user, emoji, Discord, options);
|
||||||
|
|
||||||
|
public Task RemoveAllReactionsAsync(RequestOptions options = null)
|
||||||
|
=> MessageHelper.RemoveAllReactionsAsync(this, Discord, options);
|
||||||
|
|
||||||
public Task<IReadOnlyCollection<IUser>> GetReactionUsersAsync(string emoji, int limit = 100, ulong? afterUserId = null, RequestOptions options = null)
|
public Task<IReadOnlyCollection<IUser>> GetReactionUsersAsync(string emoji, int limit = 100, ulong? afterUserId = null, RequestOptions options = null)
|
||||||
=> MessageHelper.GetReactionUsersAsync(this, emoji, x => { x.Limit = limit; x.AfterUserId = afterUserId.HasValue ? afterUserId.Value : Optional.Create<ulong>(); }, Discord, options);
|
=> MessageHelper.GetReactionUsersAsync(this, emoji, x => { x.Limit = limit; x.AfterUserId = afterUserId.HasValue ? afterUserId.Value : Optional.Create<ulong>(); }, Discord, options);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user