Clean up some bugs when parsing unicode emoji

This commit is contained in:
Christopher F
2016-11-05 18:45:35 -04:00
parent e2e2c4308d
commit c6d9bbf063
7 changed files with 11 additions and 11 deletions

View File

@@ -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")]

View File

@@ -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;

View File

@@ -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)

View File

@@ -25,7 +25,7 @@ namespace Discord
Task RemoveReactionAsync(Emoji emoji, IUser user, RequestOptions options = null);
/// <summary> Removes a reaction from this message. </summary>
Task RemoveReactionAsync(string emoji, IUser user, RequestOptions options = null);
Task<IReadOnlyCollection<IUser>> GetReactionUsersAsync(string emoji, Action<GetReactionUsersParams> func, 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>
string Resolve(

View File

@@ -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<IReadOnlyCollection<IUser>> GetReactionUsersAsync(string emoji, Action<GetReactionUsersParams> func, RequestOptions options)
=> MessageHelper.GetReactionUsersAsync(this, emoji, func, Discord, options);
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);
public Task PinAsync(RequestOptions options)

View File

@@ -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<IReadOnlyCollection<IUser>> GetReactionUsersAsync(string emoji, Action<GetReactionUsersParams> func, RequestOptions options)
=> MessageHelper.GetReactionUsersAsync(this, emoji, func, Discord, options);
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);
public Task PinAsync(RequestOptions options)
=> MessageHelper.PinAsync(this, Discord, options);

View File

@@ -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<IReadOnlyCollection<IUser>> GetReactionUsersAsync(string emoji, Action<GetReactionUsersParams> func, RequestOptions options)
=> MessageHelper.GetReactionUsersAsync(this, emoji, func, Discord, options);
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);
public Task PinAsync(RequestOptions options = null)
=> MessageHelper.PinAsync(this, Discord, options);