@@ -6,7 +6,7 @@ using Model = Discord.API.Emoji; | |||||
namespace Discord | namespace Discord | ||||
{ | { | ||||
[DebuggerDisplay(@"{DebuggerDisplay,nq}")] | [DebuggerDisplay(@"{DebuggerDisplay,nq}")] | ||||
public struct Emoji | |||||
public struct GuildEmoji | |||||
{ | { | ||||
public ulong Id { get; } | public ulong Id { get; } | ||||
public string Name { get; } | public string Name { get; } | ||||
@@ -14,7 +14,7 @@ namespace Discord | |||||
public bool RequireColons { get; } | public bool RequireColons { get; } | ||||
public IReadOnlyList<ulong> RoleIds { get; } | public IReadOnlyList<ulong> RoleIds { get; } | ||||
private Emoji(ulong id, string name, bool isManaged, bool requireColons, IReadOnlyList<ulong> roleIds) | |||||
private GuildEmoji(ulong id, string name, bool isManaged, bool requireColons, IReadOnlyList<ulong> roleIds) | |||||
{ | { | ||||
Id = id; | Id = id; | ||||
Name = name; | Name = name; | ||||
@@ -22,9 +22,9 @@ namespace Discord | |||||
RequireColons = requireColons; | RequireColons = requireColons; | ||||
RoleIds = roleIds; | RoleIds = roleIds; | ||||
} | } | ||||
internal static Emoji Create(Model model) | |||||
internal static GuildEmoji Create(Model model) | |||||
{ | { | ||||
return new Emoji(model.Id, model.Name, model.Managed, model.RequireColons, ImmutableArray.Create(model.Roles)); | |||||
return new GuildEmoji(model.Id, model.Name, model.Managed, model.RequireColons, ImmutableArray.Create(model.Roles)); | |||||
} | } | ||||
public override string ToString() => Name; | public override string ToString() => Name; |
@@ -46,7 +46,7 @@ namespace Discord | |||||
/// <summary> Gets the built-in role containing all users in this guild. </summary> | /// <summary> Gets the built-in role containing all users in this guild. </summary> | ||||
IRole EveryoneRole { get; } | IRole EveryoneRole { get; } | ||||
/// <summary> Gets a collection of all custom emojis for this guild. </summary> | /// <summary> Gets a collection of all custom emojis for this guild. </summary> | ||||
IReadOnlyCollection<Emoji> Emojis { get; } | |||||
IReadOnlyCollection<GuildEmoji> Emojis { get; } | |||||
/// <summary> Gets a collection of all extra features added to this guild. </summary> | /// <summary> Gets a collection of all extra features added to this guild. </summary> | ||||
IReadOnlyCollection<string> Features { get; } | IReadOnlyCollection<string> Features { get; } | ||||
/// <summary> Gets a collection of all roles in this guild. </summary> | /// <summary> Gets a collection of all roles in this guild. </summary> | ||||
@@ -13,7 +13,7 @@ namespace Discord.Rest | |||||
public class RestGuild : RestEntity<ulong>, IGuild, IUpdateable | public class RestGuild : RestEntity<ulong>, IGuild, IUpdateable | ||||
{ | { | ||||
private ImmutableDictionary<ulong, RestRole> _roles; | private ImmutableDictionary<ulong, RestRole> _roles; | ||||
private ImmutableArray<Emoji> _emojis; | |||||
private ImmutableArray<GuildEmoji> _emojis; | |||||
private ImmutableArray<string> _features; | private ImmutableArray<string> _features; | ||||
public string Name { get; private set; } | public string Name { get; private set; } | ||||
@@ -37,7 +37,7 @@ namespace Discord.Rest | |||||
public RestRole EveryoneRole => GetRole(Id); | public RestRole EveryoneRole => GetRole(Id); | ||||
public IReadOnlyCollection<RestRole> Roles => _roles.ToReadOnlyCollection(); | public IReadOnlyCollection<RestRole> Roles => _roles.ToReadOnlyCollection(); | ||||
public IReadOnlyCollection<Emoji> Emojis => _emojis; | |||||
public IReadOnlyCollection<GuildEmoji> Emojis => _emojis; | |||||
public IReadOnlyCollection<string> Features => _features; | public IReadOnlyCollection<string> Features => _features; | ||||
internal RestGuild(BaseDiscordClient client, ulong id) | internal RestGuild(BaseDiscordClient client, ulong id) | ||||
@@ -67,13 +67,13 @@ namespace Discord.Rest | |||||
if (model.Emojis != null) | if (model.Emojis != null) | ||||
{ | { | ||||
var emojis = ImmutableArray.CreateBuilder<Emoji>(model.Emojis.Length); | |||||
var emojis = ImmutableArray.CreateBuilder<GuildEmoji>(model.Emojis.Length); | |||||
for (int i = 0; i < model.Emojis.Length; i++) | for (int i = 0; i < model.Emojis.Length; i++) | ||||
emojis.Add(Emoji.Create(model.Emojis[i])); | |||||
emojis.Add(GuildEmoji.Create(model.Emojis[i])); | |||||
_emojis = emojis.ToImmutableArray(); | _emojis = emojis.ToImmutableArray(); | ||||
} | } | ||||
else | else | ||||
_emojis = ImmutableArray.Create<Emoji>(); | |||||
_emojis = ImmutableArray.Create<GuildEmoji>(); | |||||
if (model.Features != null) | if (model.Features != null) | ||||
_features = model.Features.ToImmutableArray(); | _features = model.Features.ToImmutableArray(); | ||||
@@ -30,7 +30,7 @@ namespace Discord.WebSocket | |||||
private ConcurrentDictionary<ulong, SocketGuildUser> _members; | private ConcurrentDictionary<ulong, SocketGuildUser> _members; | ||||
private ConcurrentDictionary<ulong, SocketRole> _roles; | private ConcurrentDictionary<ulong, SocketRole> _roles; | ||||
private ConcurrentDictionary<ulong, SocketVoiceState> _voiceStates; | private ConcurrentDictionary<ulong, SocketVoiceState> _voiceStates; | ||||
private ImmutableArray<Emoji> _emojis; | |||||
private ImmutableArray<GuildEmoji> _emojis; | |||||
private ImmutableArray<string> _features; | private ImmutableArray<string> _features; | ||||
internal bool _available; | internal bool _available; | ||||
@@ -69,7 +69,7 @@ namespace Discord.WebSocket | |||||
return channels.Select(x => state.GetChannel(x) as SocketGuildChannel).Where(x => x != null).ToReadOnlyCollection(channels); | return channels.Select(x => state.GetChannel(x) as SocketGuildChannel).Where(x => x != null).ToReadOnlyCollection(channels); | ||||
} | } | ||||
} | } | ||||
public IReadOnlyCollection<Emoji> Emojis => _emojis; | |||||
public IReadOnlyCollection<GuildEmoji> Emojis => _emojis; | |||||
public IReadOnlyCollection<string> Features => _features; | public IReadOnlyCollection<string> Features => _features; | ||||
public IReadOnlyCollection<SocketGuildUser> Users => _members.ToReadOnlyCollection(); | public IReadOnlyCollection<SocketGuildUser> Users => _members.ToReadOnlyCollection(); | ||||
public IReadOnlyCollection<SocketRole> Roles => _roles.ToReadOnlyCollection(); | public IReadOnlyCollection<SocketRole> Roles => _roles.ToReadOnlyCollection(); | ||||
@@ -79,7 +79,7 @@ namespace Discord.WebSocket | |||||
: base(client, id) | : base(client, id) | ||||
{ | { | ||||
_audioLock = new SemaphoreSlim(1, 1); | _audioLock = new SemaphoreSlim(1, 1); | ||||
_emojis = ImmutableArray.Create<Emoji>(); | |||||
_emojis = ImmutableArray.Create<GuildEmoji>(); | |||||
_features = ImmutableArray.Create<string>(); | _features = ImmutableArray.Create<string>(); | ||||
} | } | ||||
internal static SocketGuild Create(DiscordSocketClient discord, ClientState state, ExtendedModel model) | internal static SocketGuild Create(DiscordSocketClient discord, ClientState state, ExtendedModel model) | ||||
@@ -179,13 +179,13 @@ namespace Discord.WebSocket | |||||
if (model.Emojis != null) | if (model.Emojis != null) | ||||
{ | { | ||||
var emojis = ImmutableArray.CreateBuilder<Emoji>(model.Emojis.Length); | |||||
var emojis = ImmutableArray.CreateBuilder<GuildEmoji>(model.Emojis.Length); | |||||
for (int i = 0; i < model.Emojis.Length; i++) | for (int i = 0; i < model.Emojis.Length; i++) | ||||
emojis.Add(Emoji.Create(model.Emojis[i])); | |||||
emojis.Add(GuildEmoji.Create(model.Emojis[i])); | |||||
_emojis = emojis.ToImmutable(); | _emojis = emojis.ToImmutable(); | ||||
} | } | ||||
else | else | ||||
_emojis = ImmutableArray.Create<Emoji>(); | |||||
_emojis = ImmutableArray.Create<GuildEmoji>(); | |||||
if (model.Features != null) | if (model.Features != null) | ||||
_features = model.Features.ToImmutableArray(); | _features = model.Features.ToImmutableArray(); | ||||
@@ -232,9 +232,9 @@ namespace Discord.WebSocket | |||||
internal void Update(ClientState state, EmojiUpdateModel model) | internal void Update(ClientState state, EmojiUpdateModel model) | ||||
{ | { | ||||
var emojis = ImmutableArray.CreateBuilder<Emoji>(model.Emojis.Length); | |||||
var emojis = ImmutableArray.CreateBuilder<GuildEmoji>(model.Emojis.Length); | |||||
for (int i = 0; i < model.Emojis.Length; i++) | for (int i = 0; i < model.Emojis.Length; i++) | ||||
emojis.Add(Emoji.Create(model.Emojis[i])); | |||||
emojis.Add(GuildEmoji.Create(model.Emojis[i])); | |||||
_emojis = emojis.ToImmutable(); | _emojis = emojis.ToImmutable(); | ||||
} | } | ||||