diff --git a/src/Discord.Net/API/Client/Common/Guild.cs b/src/Discord.Net/API/Client/Common/Guild.cs
index 672fb4b55..bfa047c57 100644
--- a/src/Discord.Net/API/Client/Common/Guild.cs
+++ b/src/Discord.Net/API/Client/Common/Guild.cs
@@ -6,6 +6,20 @@ namespace Discord.API.Client
{
public class Guild : GuildReference
{
+ public sealed class EmojiData
+ {
+ [JsonProperty("id")]
+ public string Id { get; set; }
+ [JsonProperty("name")]
+ public string Name { get; set; }
+ [JsonProperty("roles"), JsonConverter(typeof(LongStringArrayConverter))]
+ public ulong[] RoleIds { get; set; }
+ [JsonProperty("require_colons")]
+ public bool RequireColons { get; set; }
+ [JsonProperty("managed")]
+ public bool IsManaged { get; set; }
+ }
+
[JsonProperty("afk_channel_id"), JsonConverter(typeof(NullableLongStringConverter))]
public ulong? AFKChannelId { get; set; }
[JsonProperty("afk_timeout")]
@@ -24,13 +38,11 @@ namespace Discord.API.Client
public string Region { get; set; }
[JsonProperty("roles")]
public Role[] Roles { get; set; }
-
- //Unknown
- [JsonProperty("splash")]
- public object Splash { get; set; }
[JsonProperty("features")]
- public object Features { get; set; }
+ public string[] Features { get; set; }
[JsonProperty("emojis")]
- public object Emojis { get; set; }
+ public EmojiData[] Emojis { get; set; }
+ [JsonProperty("splash")]
+ public string Splash { get; set; }
}
}
diff --git a/src/Discord.Net/API/Client/Rest/UpdateGuild.cs b/src/Discord.Net/API/Client/Rest/UpdateGuild.cs
index c4611fcdd..163dc437e 100644
--- a/src/Discord.Net/API/Client/Rest/UpdateGuild.cs
+++ b/src/Discord.Net/API/Client/Rest/UpdateGuild.cs
@@ -24,7 +24,7 @@ namespace Discord.API.Client.Rest
[JsonProperty("afk_timeout")]
public int AFKTimeout { get; set; }
[JsonProperty("splash")]
- public string Splash { get; set; }
+ public object Splash { get; set; }
public UpdateGuildRequest(ulong guildId)
{
diff --git a/src/Discord.Net/DiscordConfig.cs b/src/Discord.Net/DiscordConfig.cs
index 15157e7ff..f6e7f16da 100644
--- a/src/Discord.Net/DiscordConfig.cs
+++ b/src/Discord.Net/DiscordConfig.cs
@@ -31,7 +31,7 @@ namespace Discord
public const string ClientAPIUrl = "https://discordapp.com/api/";
public const string StatusAPIUrl = "https://status.discordapp.com/api/v2/";
- public const string CDNUrl = "https://cdn.discordapp.com/";
+ //public const string CDNUrl = "https://cdn.discordapp.com/";
public const string InviteUrl = "https://discord.gg/";
//Global
diff --git a/src/Discord.Net/Models/Emoji.cs b/src/Discord.Net/Models/Emoji.cs
new file mode 100644
index 000000000..cd9b8fcd4
--- /dev/null
+++ b/src/Discord.Net/Models/Emoji.cs
@@ -0,0 +1,9 @@
+using Discord.API.Client;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace Discord.Models
+{
+}
diff --git a/src/Discord.Net/Models/Message.cs b/src/Discord.Net/Models/Message.cs
index 926eb0ad9..4781edb70 100644
--- a/src/Discord.Net/Models/Message.cs
+++ b/src/Discord.Net/Models/Message.cs
@@ -135,23 +135,23 @@ namespace Discord
/// Summary of this embed.
public string Description { get; internal set; }
/// Returns information about the author of this embed.
- public EmbedReference Author { get; internal set; }
+ public EmbedLink Author { get; internal set; }
/// Returns information about the providing website of this embed.
- public EmbedReference Provider { get; internal set; }
+ public EmbedLink Provider { get; internal set; }
/// Returns the thumbnail of this embed.
public File Thumbnail { get; internal set; }
internal Embed() { }
}
- public sealed class EmbedReference
- {
+ public sealed class EmbedLink
+ {
/// URL of this embed provider.
public string Url { get; internal set; }
/// Name of this embed provider.
public string Name { get; internal set; }
- internal EmbedReference() { }
+ internal EmbedLink() { }
}
public class File
@@ -241,13 +241,13 @@ namespace Discord
{
Embeds = model.Embeds.Select(x =>
{
- EmbedReference author = null, provider = null;
+ EmbedLink author = null, provider = null;
File thumbnail = null;
if (x.Author != null)
- author = new EmbedReference { Url = x.Author.Url, Name = x.Author.Name };
+ author = new EmbedLink { Url = x.Author.Url, Name = x.Author.Name };
if (x.Provider != null)
- provider = new EmbedReference { Url = x.Provider.Url, Name = x.Provider.Name };
+ provider = new EmbedLink { Url = x.Provider.Url, Name = x.Provider.Name };
if (x.Thumbnail != null)
thumbnail = new File { Url = x.Thumbnail.Url, ProxyUrl = x.Thumbnail.ProxyUrl, Width = x.Thumbnail.Width, Height = x.Thumbnail.Height };
diff --git a/src/Discord.Net/Models/Role.cs b/src/Discord.Net/Models/Role.cs
index 1db60eba7..33d62b3a9 100644
--- a/src/Discord.Net/Models/Role.cs
+++ b/src/Discord.Net/Models/Role.cs
@@ -130,5 +130,10 @@ namespace Discord
public override bool Equals(object obj) => obj is Role && (obj as Role).Id == Id;
public override int GetHashCode() => unchecked(Id.GetHashCode() + 6653);
public override string ToString() => Name ?? Id.ToIdString();
- }
+
+ internal object Where(Func