diff --git a/src/Discord.Net.Core/API/Common/Emoji.cs b/src/Discord.Net.Core/API/Common/Emoji.cs
index 032ae51eb..c04786039 100644
--- a/src/Discord.Net.Core/API/Common/Emoji.cs
+++ b/src/Discord.Net.Core/API/Common/Emoji.cs
@@ -6,7 +6,7 @@ namespace Discord.API
public class Emoji
{
[JsonProperty("id")]
- public ulong Id { get; set; }
+ public ulong? Id { get; set; }
[JsonProperty("name")]
public string Name { get; set; }
[JsonProperty("roles")]
diff --git a/src/Discord.Net.Core/Entities/Guilds/GuildEmoji.cs b/src/Discord.Net.Core/Entities/Guilds/GuildEmoji.cs
index 8b2bbd9c2..94f79afa5 100644
--- a/src/Discord.Net.Core/Entities/Guilds/GuildEmoji.cs
+++ b/src/Discord.Net.Core/Entities/Guilds/GuildEmoji.cs
@@ -24,7 +24,7 @@ namespace Discord
}
internal static GuildEmoji Create(Model model)
{
- return new GuildEmoji(model.Id, model.Name, model.Managed, model.RequireColons, ImmutableArray.Create(model.Roles));
+ return new GuildEmoji(model.Id.Value, model.Name, model.Managed, model.RequireColons, ImmutableArray.Create(model.Roles));
}
public override string ToString() => Name;
diff --git a/src/Discord.Net.Core/Entities/Messages/Emoji.cs b/src/Discord.Net.Core/Entities/Messages/Emoji.cs
index fc71e944b..dddbe65f1 100644
--- a/src/Discord.Net.Core/Entities/Messages/Emoji.cs
+++ b/src/Discord.Net.Core/Entities/Messages/Emoji.cs
@@ -21,7 +21,7 @@ namespace Discord
internal static Emoji FromApi(API.Emoji emoji)
{
- return new Emoji(emoji.Id, emoji.Name);
+ return new Emoji(emoji.Id.GetValueOrDefault(), emoji.Name);
}
public static Emoji Parse(string text)
diff --git a/src/Discord.Net.Core/Entities/Messages/IUserMessage.cs b/src/Discord.Net.Core/Entities/Messages/IUserMessage.cs
index 5b6ab2773..5fe0ccbea 100644
--- a/src/Discord.Net.Core/Entities/Messages/IUserMessage.cs
+++ b/src/Discord.Net.Core/Entities/Messages/IUserMessage.cs
@@ -25,7 +25,7 @@ namespace Discord
Task RemoveReactionAsync(Emoji emoji, IUser user, RequestOptions options = null);
/// Removes a reaction from this message.
Task RemoveReactionAsync(string emoji, IUser user, RequestOptions options = null);
- Task> GetReactionUsersAsync(string emoji, Action func, RequestOptions options = null);
+ Task> GetReactionUsersAsync(string emoji, int limit = 100, ulong? afterUserId = null, RequestOptions options = null);
/// Transforms this message's text into a human readable form by resolving its tags.
string Resolve(
diff --git a/src/Discord.Net.Rest/Entities/Messages/RestUserMessage.cs b/src/Discord.Net.Rest/Entities/Messages/RestUserMessage.cs
index 1af844501..bc70e608e 100644
--- a/src/Discord.Net.Rest/Entities/Messages/RestUserMessage.cs
+++ b/src/Discord.Net.Rest/Entities/Messages/RestUserMessage.cs
@@ -143,8 +143,8 @@ namespace Discord.Rest
public Task RemoveReactionAsync(string emoji, IUser user, RequestOptions options)
=> MessageHelper.RemoveReactionAsync(this, user, emoji, Discord, options);
- public Task> GetReactionUsersAsync(string emoji, Action func, RequestOptions options)
- => MessageHelper.GetReactionUsersAsync(this, emoji, func, Discord, options);
+ public Task> 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(); }, Discord, options);
public Task PinAsync(RequestOptions options)
diff --git a/src/Discord.Net.Rpc/Entities/Messages/RpcUserMessage.cs b/src/Discord.Net.Rpc/Entities/Messages/RpcUserMessage.cs
index 832e54d81..20129054f 100644
--- a/src/Discord.Net.Rpc/Entities/Messages/RpcUserMessage.cs
+++ b/src/Discord.Net.Rpc/Entities/Messages/RpcUserMessage.cs
@@ -112,8 +112,8 @@ namespace Discord.Rpc
public Task RemoveReactionAsync(string emoji, IUser user, RequestOptions options)
=> MessageHelper.RemoveReactionAsync(this, user, emoji, Discord, options);
- public Task> GetReactionUsersAsync(string emoji, Action func, RequestOptions options)
- => MessageHelper.GetReactionUsersAsync(this, emoji, func, Discord, options);
+ public Task> 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(); }, Discord, options);
public Task PinAsync(RequestOptions options)
=> MessageHelper.PinAsync(this, Discord, options);
diff --git a/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs b/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs
index 957fa64b3..4d097fb32 100644
--- a/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs
+++ b/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs
@@ -135,9 +135,9 @@ namespace Discord.WebSocket
=> MessageHelper.RemoveReactionAsync(this, user, emoji, Discord, options);
public Task RemoveReactionAsync(string emoji, IUser user, RequestOptions options)
=> MessageHelper.RemoveReactionAsync(this, user, emoji, Discord, options);
-
- public Task> GetReactionUsersAsync(string emoji, Action func, RequestOptions options)
- => MessageHelper.GetReactionUsersAsync(this, emoji, func, Discord, options);
+
+ public Task> 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(); }, Discord, options);
public Task PinAsync(RequestOptions options = null)
=> MessageHelper.PinAsync(this, Discord, options);