aboutsummaryrefslogtreecommitdiff
path: root/src/model/guild/guild_id.rs
diff options
context:
space:
mode:
authoracdenisSK <[email protected]>2017-10-03 16:55:58 +0200
committerZeyla Hellyer <[email protected]>2017-10-09 15:47:48 -0700
commit06dc6937bd3d4e5912de08e4ac3630a1f83b7f5a (patch)
treeeee16dc9d1c35e2b17a0a59d55cc85fa82726587 /src/model/guild/guild_id.rs
parentUse the de-generification trick. (diff)
downloadserenity-06dc6937bd3d4e5912de08e4ac3630a1f83b7f5a.tar.xz
serenity-06dc6937bd3d4e5912de08e4ac3630a1f83b7f5a.zip
Revert "Use the de-generification trick."
Makes the compiliation time just a bit worse
Diffstat (limited to 'src/model/guild/guild_id.rs')
-rw-r--r--src/model/guild/guild_id.rs91
1 files changed, 17 insertions, 74 deletions
diff --git a/src/model/guild/guild_id.rs b/src/model/guild/guild_id.rs
index bc50e16..4b9a713 100644
--- a/src/model/guild/guild_id.rs
+++ b/src/model/guild/guild_id.rs
@@ -49,10 +49,6 @@ impl GuildId {
/// [`User`]: struct.User.html
/// [Ban Members]: permissions/constant.BAN_MEMBERS.html
pub fn ban<U: Into<UserId>, BO: BanOptions>(&self, user: U, ban_options: BO) -> Result<()> {
- self._ban(user.into(), ban_options)
- }
-
- fn _ban<BO: BanOptions>(&self, UserId(id): UserId, ban_options: BO) -> Result<()> {
let dmd = ban_options.dmd();
if dmd > 7 {
return Err(Error::Model(ModelError::DeleteMessageDaysAmount(dmd)));
@@ -64,7 +60,7 @@ impl GuildId {
return Err(Error::ExceededLimit(reason.to_string(), 512));
}
- http::ban_user(self.0, id, dmd, &reason)
+ http::ban_user(self.0, user.into().0, dmd, &*reason)
}
/// Gets a list of the guild's bans.
@@ -153,16 +149,13 @@ impl GuildId {
/// [Manage Guild]: permissions/constant.MANAGE_GUILD.html
pub fn create_integration<I>(&self, integration_id: I, kind: &str) -> Result<()>
where I: Into<IntegrationId> {
- self._create_integration(integration_id.into(), kind)
- }
-
- fn _create_integration(&self, IntegrationId(id): IntegrationId, kind: &str) -> Result<()> {
+ let integration_id = integration_id.into();
let map = json!({
- "id": id,
+ "id": integration_id.0,
"type": kind,
});
- http::create_guild_integration(self.0, id, &map)
+ http::create_guild_integration(self.0, integration_id.0, &map)
}
/// Creates a new role in the guild with the data set, if any.
@@ -197,11 +190,7 @@ impl GuildId {
/// [Manage Emojis]: permissions/constant.MANAGE_EMOJIS.html
#[inline]
pub fn delete_emoji<E: Into<EmojiId>>(&self, emoji_id: E) -> Result<()> {
- self._delete_emoji(emoji_id.into())
- }
-
- fn _delete_emoji(&self, EmojiId(id): EmojiId) -> Result<()> {
- http::delete_emoji(self.0, id)
+ http::delete_emoji(self.0, emoji_id.into().0)
}
/// Deletes an integration by Id from the guild.
@@ -211,11 +200,7 @@ impl GuildId {
/// [Manage Guild]: permissions/constant.MANAGE_GUILD.html
#[inline]
pub fn delete_integration<I: Into<IntegrationId>>(&self, integration_id: I) -> Result<()> {
- self._delete_integration(integration_id.into())
- }
-
- fn _delete_integration(&self, IntegrationId(id): IntegrationId) -> Result<()> {
- http::delete_guild_integration(self.0, id)
+ http::delete_guild_integration(self.0, integration_id.into().0)
}
/// Deletes a [`Role`] by Id from the guild.
@@ -230,11 +215,7 @@ impl GuildId {
/// [Manage Roles]: permissions/constant.MANAGE_ROLES.html
#[inline]
pub fn delete_role<R: Into<RoleId>>(&self, role_id: R) -> Result<()> {
- self._delete_role(role_id.into())
- }
-
- fn _delete_role(&self, RoleId(id): RoleId) -> Result<()> {
- http::delete_role(self.0, id)
+ http::delete_role(self.0, role_id.into().0)
}
/// Edits the current guild with new data where specified.
@@ -262,15 +243,11 @@ impl GuildId {
/// [`Emoji::edit`]: struct.Emoji.html#method.edit
/// [Manage Emojis]: permissions/constant.MANAGE_EMOJIS.html
pub fn edit_emoji<E: Into<EmojiId>>(&self, emoji_id: E, name: &str) -> Result<Emoji> {
- self._edit_emoji(emoji_id.into(), name)
- }
-
- fn _edit_emoji(&self, EmojiId(id): EmojiId, name: &str) -> Result<Emoji> {
let map = json!({
"name": name,
});
- http::edit_emoji(self.0, id, &map)
+ http::edit_emoji(self.0, emoji_id.into().0, &map)
}
/// Edits the properties of member of the guild, such as muting or
@@ -289,12 +266,7 @@ impl GuildId {
#[inline]
pub fn edit_member<F, U>(&self, user_id: U, f: F) -> Result<()>
where F: FnOnce(EditMember) -> EditMember, U: Into<UserId> {
- self._edit_member(user_id.into(), f)
- }
-
- fn _edit_member<F>(&self, UserId(id): UserId, f: F) -> Result<()>
- where F: FnOnce(EditMember) -> EditMember {
- http::edit_member(self.0, id, &f(EditMember::default()).0)
+ http::edit_member(self.0, user_id.into().0, &f(EditMember::default()).0)
}
/// Edits the current user's nickname for the guild.
@@ -328,12 +300,7 @@ impl GuildId {
#[inline]
pub fn edit_role<F, R>(&self, role_id: R, f: F) -> Result<Role>
where F: FnOnce(EditRole) -> EditRole, R: Into<RoleId> {
- self._edit_role(role_id.into(), f)
- }
-
- fn _edit_role<F>(&self, RoleId(id): RoleId, f: F) -> Result<Role>
- where F: FnOnce(EditRole) -> EditRole {
- http::edit_role(self.0, id, &f(EditRole::default()).0)
+ http::edit_role(self.0, role_id.into().0, &f(EditRole::default()).0)
}
/// Search the cache for the guild.
@@ -369,11 +336,7 @@ impl GuildId {
/// [Kick Members]: permissions/constant.KICK_MEMBERS.html
#[inline]
pub fn kick<U: Into<UserId>>(&self, user_id: U) -> Result<()> {
- self._kick(user_id.into())
- }
-
- fn _kick(&self, UserId(id): UserId) -> Result<()> {
- http::kick_member(self.0, id)
+ http::kick_member(self.0, user_id.into().0)
}
/// Leaves the guild.
@@ -386,11 +349,7 @@ impl GuildId {
/// [`Member`]: struct.Member.html
#[inline]
pub fn member<U: Into<UserId>>(&self, user_id: U) -> Result<Member> {
- self._member(user_id.into())
- }
-
- fn _member(&self, UserId(id): UserId) -> Result<Member> {
- http::get_member(self.0, id)
+ http::get_member(self.0, user_id.into().0)
}
/// Gets a list of the guild's members.
@@ -403,11 +362,7 @@ impl GuildId {
#[inline]
pub fn members<U>(&self, limit: Option<u64>, after: Option<U>) -> Result<Vec<Member>>
where U: Into<UserId> {
- self._members(limit, after.map(|x| x.into()))
- }
-
- fn _members(&self, limit: Option<u64>, after: Option<UserId>) -> Result<Vec<Member>> {
- http::get_guild_members(self.0, limit, after.map(|x| x.0))
+ http::get_guild_members(self.0, limit, after.map(|x| x.into().0))
}
/// Moves a member to a specific voice channel.
@@ -417,17 +372,13 @@ impl GuildId {
/// [Move Members]: permissions/constant.MOVE_MEMBERS.html
pub fn move_member<C, U>(&self, user_id: U, channel_id: C) -> Result<()>
where C: Into<ChannelId>, U: Into<UserId> {
- self._move_member(user_id.into(), channel_id.into())
- }
-
- fn _move_member(&self, UserId(uid): UserId, ChannelId(cid): ChannelId) -> Result<()> {
let mut map = Map::new();
map.insert(
"channel_id".to_string(),
- Value::Number(Number::from(cid)),
+ Value::Number(Number::from(channel_id.into().0)),
);
- http::edit_member(self.0, uid, &map)
+ http::edit_member(self.0, user_id.into().0, &map)
}
/// Gets the number of [`Member`]s that would be pruned with the given
@@ -491,11 +442,7 @@ impl GuildId {
/// [Manage Guild]: permissions/constant.MANAGE_GUILD.html
#[inline]
pub fn start_integration_sync<I: Into<IntegrationId>>(&self, integration_id: I) -> Result<()> {
- self._start_integration_sync(integration_id.into())
- }
-
- fn _start_integration_sync(&self, IntegrationId(id): IntegrationId) -> Result<()> {
- http::start_integration_sync(self.0, id)
+ http::start_integration_sync(self.0, integration_id.into().0)
}
/// Starts a prune of [`Member`]s.
@@ -524,11 +471,7 @@ impl GuildId {
/// [Ban Members]: permissions/constant.BAN_MEMBERS.html
#[inline]
pub fn unban<U: Into<UserId>>(&self, user_id: U) -> Result<()> {
- self._unban(user_id.into())
- }
-
- fn _unban(&self, UserId(id): UserId) -> Result<()> {
- http::remove_ban(self.0, id)
+ http::remove_ban(self.0, user_id.into().0)
}
/// Retrieves the guild's webhooks.