From 5a0b8a68c133c3093260a5aeb08b02eb3595c18d Mon Sep 17 00:00:00 2001 From: Zeyla Hellyer Date: Sat, 27 Jan 2018 19:19:14 -0800 Subject: Correctly set role's position on new roles When creating a new role, correctly set its position if a position was specified. This is because the "Create Role" endpoint no longer accepts a `position` key. --- src/model/guild/guild_id.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/model/guild/guild_id.rs b/src/model/guild/guild_id.rs index 3cce275..adfac05 100644 --- a/src/model/guild/guild_id.rs +++ b/src/model/guild/guild_id.rs @@ -178,7 +178,13 @@ impl GuildId { pub fn create_role EditRole>(&self, f: F) -> Result { let map = utils::vecmap_to_json_map(f(EditRole::default()).0); - http::create_role(self.0, &map) + let role = http::create_role(self.0, &map)?; + + if let Some(position) = map.get("position").and_then(Value::as_u64) { + self.edit_role_position(role.id, position)?; + } + + Ok(role) } /// Deletes the current guild if the current account is the owner of the -- cgit v1.2.3