From d734ce0a11ca5d0b9d823f1303f90c5af3de32fe Mon Sep 17 00:00:00 2001 From: NovusTheory <3434404+NovusTheory@users.noreply.github.com> Date: Thu, 26 Dec 2019 17:44:01 -0600 Subject: [PATCH] feature: Add ability to modify the banner for guilds (#1432) --- src/Discord.Net.Core/Entities/Guilds/GuildProperties.cs | 4 ++++ src/Discord.Net.Rest/API/Rest/ModifyGuildParams.cs | 2 ++ src/Discord.Net.Rest/Entities/Guilds/GuildHelper.cs | 3 +++ 3 files changed, 9 insertions(+) diff --git a/src/Discord.Net.Core/Entities/Guilds/GuildProperties.cs b/src/Discord.Net.Core/Entities/Guilds/GuildProperties.cs index ec31019af..981e1198c 100644 --- a/src/Discord.Net.Core/Entities/Guilds/GuildProperties.cs +++ b/src/Discord.Net.Core/Entities/Guilds/GuildProperties.cs @@ -38,6 +38,10 @@ namespace Discord /// public Optional Icon { get; set; } /// + /// Gets or sets the banner of the guild. + /// + public Optional Banner { get; set; } + /// /// Gets or sets the guild's splash image. /// /// diff --git a/src/Discord.Net.Rest/API/Rest/ModifyGuildParams.cs b/src/Discord.Net.Rest/API/Rest/ModifyGuildParams.cs index 6341b63b6..cfb107bcd 100644 --- a/src/Discord.Net.Rest/API/Rest/ModifyGuildParams.cs +++ b/src/Discord.Net.Rest/API/Rest/ModifyGuildParams.cs @@ -22,6 +22,8 @@ namespace Discord.API.Rest public Optional SystemChannelId { get; set; } [JsonProperty("icon")] public Optional Icon { get; set; } + [JsonProperty("banner")] + public Optional Banner { get; set; } [JsonProperty("splash")] public Optional Splash { get; set; } [JsonProperty("afk_channel_id")] diff --git a/src/Discord.Net.Rest/Entities/Guilds/GuildHelper.cs b/src/Discord.Net.Rest/Entities/Guilds/GuildHelper.cs index 664c57a1c..790b1e5c3 100644 --- a/src/Discord.Net.Rest/Entities/Guilds/GuildHelper.cs +++ b/src/Discord.Net.Rest/Entities/Guilds/GuildHelper.cs @@ -32,6 +32,7 @@ namespace Discord.Rest Icon = args.Icon.IsSpecified ? args.Icon.Value?.ToModel() : Optional.Create(), Name = args.Name, Splash = args.Splash.IsSpecified ? args.Splash.Value?.ToModel() : Optional.Create(), + Banner = args.Banner.IsSpecified ? args.Banner.Value?.ToModel() : Optional.Create(), VerificationLevel = args.VerificationLevel, ExplicitContentFilter = args.ExplicitContentFilter, SystemChannelFlags = args.SystemChannelFlags @@ -57,6 +58,8 @@ namespace Discord.Rest else if (args.RegionId.IsSpecified) apiArgs.RegionId = args.RegionId.Value; + if (!apiArgs.Banner.IsSpecified && guild.BannerId != null) + apiArgs.Banner = new ImageModel(guild.BannerId); if (!apiArgs.Splash.IsSpecified && guild.SplashId != null) apiArgs.Splash = new ImageModel(guild.SplashId); if (!apiArgs.Icon.IsSpecified && guild.IconId != null)