diff --git a/src/Discord.Net/API/Requests.cs b/src/Discord.Net/API/Requests.cs index 10ca79532..f2d9b49fc 100644 --- a/src/Discord.Net/API/Requests.cs +++ b/src/Discord.Net/API/Requests.cs @@ -139,6 +139,10 @@ namespace Discord.API public string Name; [JsonProperty("permissions", NullValueHandling = NullValueHandling.Ignore)] public uint? Permissions; + [JsonProperty("hoist", NullValueHandling = NullValueHandling.Ignore)] + public bool? Hoist; + [JsonProperty("color", NullValueHandling = NullValueHandling.Ignore)] + public uint? Color; } //Servers diff --git a/src/Discord.Net/DiscordAPIClient.cs b/src/Discord.Net/DiscordAPIClient.cs index 8292a7927..5e0dd6fa4 100644 --- a/src/Discord.Net/DiscordAPIClient.cs +++ b/src/Discord.Net/DiscordAPIClient.cs @@ -270,12 +270,12 @@ namespace Discord return _rest.Delete(Endpoints.ServerRole(serverId, roleId)); } - public Task EditRole(string serverId, string roleId, string name = null, uint? permissions = null) + public Task EditRole(string serverId, string roleId, string name = null, uint? permissions = null, bool? hoist = null, uint? color = null) { if (serverId == null) throw new ArgumentNullException(nameof(serverId)); if (roleId == null) throw new ArgumentNullException(nameof(roleId)); - var request = new EditRoleRequest { Name = name, Permissions = permissions }; + var request = new EditRoleRequest { Name = name, Permissions = permissions, Hoist = hoist, Color = color }; return _rest.Patch(Endpoints.ServerRole(serverId, roleId), request); } diff --git a/src/Discord.Net/DiscordClient.API.cs b/src/Discord.Net/DiscordClient.API.cs index cc39957aa..509c13874 100644 --- a/src/Discord.Net/DiscordClient.API.cs +++ b/src/Discord.Net/DiscordClient.API.cs @@ -654,13 +654,13 @@ namespace Discord public Task EditRole(Role role, string newName) => EditRole(role?.ServerId, role?.Id, newName); - public Task EditRole(string serverId, string roleId, string name = null, PackedServerPermissions permissions = null) + public Task EditRole(string serverId, string roleId, string name = null, PackedServerPermissions permissions = null, bool? hoist = null, uint? color = null) { CheckReady(); if (serverId == null) throw new NullReferenceException(nameof(serverId)); if (roleId == null) throw new NullReferenceException(nameof(roleId)); - return _api.EditRole(serverId, roleId, name: name, permissions: permissions?.RawValue); + return _api.EditRole(serverId, roleId, name: name, permissions: permissions?.RawValue, hoist: hoist, color: color); } public Task DeleteRole(Role role)