From e57b510edd640abb243664337a1c163924313612 Mon Sep 17 00:00:00 2001 From: acdenisSK Date: Tue, 17 Oct 2017 22:24:12 +0200 Subject: Use the underlaying integer value of a `ChannelType` variant --- src/model/guild/guild_id.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/model/guild') diff --git a/src/model/guild/guild_id.rs b/src/model/guild/guild_id.rs index 4b9a713..64e1181 100644 --- a/src/model/guild/guild_id.rs +++ b/src/model/guild/guild_id.rs @@ -110,7 +110,7 @@ impl GuildId { pub fn create_channel(&self, name: &str, kind: ChannelType) -> Result { let map = json!({ "name": name, - "type": kind.name(), + "type": kind as u8, }); http::create_channel(self.0, &map) -- cgit v1.2.3 From f47a0c831efe5842ca38cb1067de361ae42f6edc Mon Sep 17 00:00:00 2001 From: Ken Swenson Date: Thu, 19 Oct 2017 08:27:40 -0400 Subject: Implement changing a role's position (#201) --- src/model/guild/guild_id.rs | 21 +++++++++++++++++++++ src/model/guild/mod.rs | 20 ++++++++++++++++++++ 2 files changed, 41 insertions(+) (limited to 'src/model/guild') diff --git a/src/model/guild/guild_id.rs b/src/model/guild/guild_id.rs index 64e1181..622d059 100644 --- a/src/model/guild/guild_id.rs +++ b/src/model/guild/guild_id.rs @@ -303,6 +303,27 @@ impl GuildId { http::edit_role(self.0, role_id.into().0, &f(EditRole::default()).0) } + /// Edits the order of [`Role`]s + /// Requires the [Manage Roles] permission. + /// + /// # Examples + /// + /// Change the order of a role: + /// + /// ```rust,ignore + /// use serenity::model::{GuildId, RoleId}; + /// GuildId(7).edit_role_position(RoleId(8), 2); + /// ``` + /// + /// [`Role`]: struct.Role.html + /// [Manage Roles]: permissions/constant.MANAGE_ROLES.html + #[inline] + pub fn edit_role_position(&self, role_id: R, position: u64) -> Result> + where R: Into { + http::edit_role_position(self.0, role_id.into().0, position) + } + + /// Search the cache for the guild. #[cfg(feature = "cache")] pub fn find(&self) -> Option>> { CACHE.read().unwrap().guild(*self) } diff --git a/src/model/guild/mod.rs b/src/model/guild/mod.rs index 5a5ab63..aa9fd1d 100644 --- a/src/model/guild/mod.rs +++ b/src/model/guild/mod.rs @@ -597,6 +597,26 @@ impl Guild { self.id.edit_role(role_id, f) } + /// Edits the order of [`Role`]s + /// Requires the [Manage Roles] permission. + /// + /// # Examples + /// + /// Change the order of a role: + /// + /// ```rust,ignore + /// use serenity::model::RoleId; + /// guild.edit_role_position(RoleId(8), 2); + /// ``` + /// + /// [`Role`]: struct.Role.html + /// [Manage Roles]: permissions/constant.MANAGE_ROLES.html + #[inline] + pub fn edit_role_position(&self, role_id: R, position: u64) -> Result> + where R: Into { + self.id.edit_role_position(role_id, position) + } + /// Gets a partial amount of guild data by its Id. /// /// Requires that the current user be in the guild. -- cgit v1.2.3