diff --git a/src/Discord.Net.Rest/API/Common/User.cs b/src/Discord.Net.Rest/API/Common/User.cs index 64a04f25..bebb995c 100644 --- a/src/Discord.Net.Rest/API/Common/User.cs +++ b/src/Discord.Net.Rest/API/Common/User.cs @@ -16,6 +16,8 @@ namespace Discord.API public Optional Avatar { get; set; } [JsonProperty("banner")] public Optional Banner { get; set; } + [JsonProperty("banner_color")] + public Optional BannerColor { get; set; } [JsonProperty("accent_color")] public Optional AccentColor { get; set; } diff --git a/src/Discord.Net.Rest/Entities/Users/RestUser.cs b/src/Discord.Net.Rest/Entities/Users/RestUser.cs index e9da7087..7887228f 100644 --- a/src/Discord.Net.Rest/Entities/Users/RestUser.cs +++ b/src/Discord.Net.Rest/Entities/Users/RestUser.cs @@ -25,8 +25,23 @@ namespace Discord.Rest public ushort DiscriminatorValue { get; private set; } /// public string AvatarId { get; private set; } - /// + + /// + /// Gets the hash of the banner. + /// + /// + /// if the user has no banner set. + /// public string BannerId { get; private set; } + + /// + /// Gets the color of the banner. + /// + /// + /// if the user has no banner set. + /// + public Color? BannerColor { get; private set; } + /// public Color? AccentColor { get; private set; } /// @@ -92,6 +107,8 @@ namespace Discord.Rest AvatarId = model.Avatar.Value; if (model.Banner.IsSpecified) BannerId = model.Banner.Value; + if (model.BannerColor.IsSpecified) + BannerColor = model.BannerColor.Value; if (model.AccentColor.IsSpecified) AccentColor = model.AccentColor.Value; if (model.Discriminator.IsSpecified) diff --git a/src/Discord.Net.WebSocket/Entities/Users/SocketSelfUser.cs b/src/Discord.Net.WebSocket/Entities/Users/SocketSelfUser.cs index ae401f6b..979a1111 100644 --- a/src/Discord.Net.WebSocket/Entities/Users/SocketSelfUser.cs +++ b/src/Discord.Net.WebSocket/Entities/Users/SocketSelfUser.cs @@ -20,6 +20,22 @@ namespace Discord.WebSocket public bool IsMfaEnabled { get; private set; } internal override SocketGlobalUser GlobalUser { get; set; } + /// + /// Gets the hash of the banner. + /// + /// + /// if the user has no banner set. + /// + public string BannerId { get; internal set; } + + /// + /// Gets the color of the banner. + /// + /// + /// if the user has no banner set. + /// + public Color? BannerColor { get; internal set; } + /// public override bool IsBot { get { return GlobalUser.IsBot; } internal set { GlobalUser.IsBot = value; } } /// @@ -86,6 +102,18 @@ namespace Discord.WebSocket Locale = model.Locale.Value; hasGlobalChanges = true; } + + if (model.BannerColor.IsSpecified && model.BannerColor.Value != BannerColor) + { + BannerColor = model.BannerColor.Value; + hasGlobalChanges = true; + } + + if (model.Banner.IsSpecified && model.Banner.Value != BannerId) + { + BannerId = model.Banner.Value; + hasGlobalChanges = true; + } return hasGlobalChanges; }