aboutsummaryrefslogtreecommitdiff
path: root/src/model/guild/mod.rs
diff options
context:
space:
mode:
authorZeyla Hellyer <[email protected]>2017-04-13 20:45:56 -0700
committerZeyla Hellyer <[email protected]>2017-04-19 14:53:32 -0700
commit3f03f9adc97315bb61a5c71f52365306cb8e2d1a (patch)
tree8fe0b518d1450b0657cfb75f56251fd90120807e /src/model/guild/mod.rs
parentUpdate the way errors are handled in dispatch (diff)
downloadserenity-3f03f9adc97315bb61a5c71f52365306cb8e2d1a.tar.xz
serenity-3f03f9adc97315bb61a5c71f52365306cb8e2d1a.zip
Deprecate methods prefixed with `get_`
A lot of structs - such as `Guild` or `ChannelId` - have methods with prefixes of `get_`, which are generally discouraged. To fix this, deprecate them and remove them in v0.3.0.
Diffstat (limited to 'src/model/guild/mod.rs')
-rw-r--r--src/model/guild/mod.rs306
1 files changed, 199 insertions, 107 deletions
diff --git a/src/model/guild/mod.rs b/src/model/guild/mod.rs
index bbf8ecc..c270fe2 100644
--- a/src/model/guild/mod.rs
+++ b/src/model/guild/mod.rs
@@ -201,7 +201,15 @@ impl Guild {
}
}
- self.id.get_bans()
+ self.id.bans()
+ }
+
+ /// Gets all of the guild's channels over the REST API.
+ ///
+ /// [`Guild`]: struct.Guild.html
+ #[inline]
+ pub fn channels(&self) -> Result<HashMap<ChannelId, GuildChannel>> {
+ self.id.channels()
}
/// Creates a guild with the data provided.
@@ -548,38 +556,14 @@ impl Guild {
self.id.edit_role(role_id, f)
}
- /// Gets a partial amount of guild data by its Id.
- ///
- /// Requires that the current user be in the guild.
- #[inline]
- pub fn get<G: Into<GuildId>>(guild_id: G) -> Result<PartialGuild> {
- guild_id.into().get()
- }
-
- /// Gets a list of the guild's bans.
- ///
- /// Requires the [Ban Members] permission.
- #[inline]
- pub fn get_bans(&self) -> Result<Vec<Ban>> {
- self.id.get_bans()
- }
-
- /// Gets all of the guild's channels over the REST API.
- ///
- /// [`Guild`]: struct.Guild.html
- #[inline]
- pub fn get_channels(&self) -> Result<HashMap<ChannelId, GuildChannel>> {
- self.id.get_channels()
- }
-
/// Gets an emoji in the guild by Id.
///
/// Requires the [Manage Emojis] permission.
///
/// [Manage Emojis]: permissions/constant.MANAGE_EMOJIS.html
#[inline]
- pub fn get_emoji<E: Into<EmojiId>>(&self, emoji_id: E) -> Result<Emoji> {
- self.id.get_emoji(emoji_id)
+ pub fn emoji<E: Into<EmojiId>>(&self, emoji_id: E) -> Result<Emoji> {
+ self.id.emoji(emoji_id)
}
/// Gets a list of all of the guild's emojis.
@@ -588,16 +572,30 @@ impl Guild {
///
/// [Manage Emojis]: permissions/constant.MANAGE_EMOJIS.html
#[inline]
- pub fn get_emojis(&self) -> Result<Vec<Emoji>> {
- self.id.get_emojis()
+ pub fn emojis(&self) -> Result<Vec<Emoji>> {
+ self.id.emojis()
+ }
+
+ /// Gets a partial amount of guild data by its Id.
+ ///
+ /// Requires that the current user be in the guild.
+ #[inline]
+ pub fn get<G: Into<GuildId>>(guild_id: G) -> Result<PartialGuild> {
+ guild_id.into().get()
+ }
+
+ /// Returns the formatted URL of the guild's icon, if one exists.
+ pub fn icon_url(&self) -> Option<String> {
+ self.icon.as_ref().map(|icon|
+ format!(cdn!("/icons/{}/{}.webp"), self.id, icon))
}
/// Gets all integration of the guild.
///
/// This performs a request over the REST API.
#[inline]
- pub fn get_integrations(&self) -> Result<Vec<Integration>> {
- self.id.get_integrations()
+ pub fn integrations(&self) -> Result<Vec<Integration>> {
+ self.id.integrations()
}
/// Retrieves the active invites for the guild.
@@ -611,7 +609,7 @@ impl Guild {
///
/// [`ClientError::InvalidPermissions`]: ../client/enum.ClientError.html#variant.InvalidPermissions
/// [Manage Guild]: permissions/constant.MANAGE_GUILD.html
- pub fn get_invites(&self) -> Result<Vec<RichInvite>> {
+ pub fn invites(&self) -> Result<Vec<RichInvite>> {
#[cfg(feature="cache")]
{
let req = permissions::MANAGE_GUILD;
@@ -621,7 +619,31 @@ impl Guild {
}
}
- self.id.get_invites()
+ self.id.invites()
+ }
+
+ /// Checks if the guild is 'large'. A guild is considered large if it has
+ /// more than 250 members.
+ #[inline]
+ pub fn is_large(&self) -> bool {
+ self.members.len() > LARGE_THRESHOLD as usize
+ }
+
+ /// Kicks a [`Member`] from the guild.
+ ///
+ /// Requires the [Kick Members] permission.
+ ///
+ /// [`Member`]: struct.Member.html
+ /// [Kick Members]: permissions/constant.KICK_MEMBERS.html
+ #[inline]
+ pub fn kick<U: Into<UserId>>(&self, user_id: U) -> Result<()> {
+ self.id.kick(user_id)
+ }
+
+ /// Leaves the guild.
+ #[inline]
+ pub fn leave(&self) -> Result<PartialGuild> {
+ self.id.leave()
}
/// Gets a user's [`Member`] for the guild by Id.
@@ -629,8 +651,8 @@ impl Guild {
/// [`Guild`]: struct.Guild.html
/// [`Member`]: struct.Member.html
#[inline]
- pub fn get_member<U: Into<UserId>>(&self, user_id: U) -> Result<Member> {
- self.id.get_member(user_id)
+ pub fn member<U: Into<UserId>>(&self, user_id: U) -> Result<Member> {
+ self.id.member(user_id)
}
/// Gets a list of the guild's members.
@@ -641,9 +663,9 @@ impl Guild {
///
/// [`User`]: struct.User.html
#[inline]
- pub fn get_members<U>(&self, limit: Option<u64>, after: Option<U>)
+ pub fn members<U>(&self, limit: Option<u64>, after: Option<U>)
-> Result<Vec<Member>> where U: Into<UserId> {
- self.id.get_members(limit, after)
+ self.id.members(limit, after)
}
/// Retrieves the first [`Member`] found that matches the name - with an
@@ -663,7 +685,7 @@ impl Guild {
/// - **nickname**: "zeyla" or "zeylas#nick"
///
/// [`Member`]: struct.Member.html
- pub fn get_member_named(&self, name: &str) -> Option<&Member> {
+ pub fn member_named(&self, name: &str) -> Option<&Member> {
let hash_pos = name.find('#');
let (name, discrim) = if let Some(pos) = hash_pos {
@@ -689,75 +711,6 @@ impl Guild {
}))
}
- /// Retrieves the count of the number of [`Member`]s that would be pruned
- /// with the number of given days.
- ///
- /// See the documentation on [`GuildPrune`] for more information.
- ///
- /// **Note**: Requires the [Kick Members] permission.
- ///
- /// # Errors
- ///
- /// If the `cache` is enabled, returns a [`ClientError::InvalidPermissions`]
- /// if the current user does not have permission to perform bans.
- ///
- /// [`ClientError::InvalidPermissions`]: ../client/enum.ClientError.html#variant.InvalidPermissions
- /// [`GuildPrune`]: struct.GuildPrune.html
- /// [`Member`]: struct.Member.html
- /// [Kick Members]: permissions/constant.KICK_MEMBERS.html
- pub fn get_prune_count(&self, days: u16) -> Result<GuildPrune> {
- #[cfg(feature="cache")]
- {
- let req = permissions::KICK_MEMBERS;
-
- if !self.has_perms(req)? {
- return Err(Error::Client(ClientError::InvalidPermissions(req)));
- }
- }
-
- self.id.get_prune_count(days)
- }
-
- /// Retrieves the guild's webhooks.
- ///
- /// **Note**: Requires the [Manage Webhooks] permission.
- ///
- /// [Manage Webhooks]: permissions/constant.MANAGE_WEBHOOKS.html
- #[inline]
- pub fn get_webhooks(&self) -> Result<Vec<Webhook>> {
- self.id.get_webhooks()
- }
-
- /// Returns the formatted URL of the guild's icon, if one exists.
- pub fn icon_url(&self) -> Option<String> {
- self.icon.as_ref().map(|icon|
- format!(cdn!("/icons/{}/{}.webp"), self.id, icon))
- }
-
- /// Checks if the guild is 'large'. A guild is considered large if it has
- /// more than 250 members.
- #[inline]
- pub fn is_large(&self) -> bool {
- self.members.len() > LARGE_THRESHOLD as usize
- }
-
- /// Kicks a [`Member`] from the guild.
- ///
- /// Requires the [Kick Members] permission.
- ///
- /// [`Member`]: struct.Member.html
- /// [Kick Members]: permissions/constant.KICK_MEMBERS.html
- #[inline]
- pub fn kick<U: Into<UserId>>(&self, user_id: U) -> Result<()> {
- self.id.kick(user_id)
- }
-
- /// Leaves the guild.
- #[inline]
- pub fn leave(&self) -> Result<PartialGuild> {
- self.id.leave()
- }
-
/// Moves a member to a specific voice channel.
///
/// Requires the [Move Members] permission.
@@ -887,6 +840,35 @@ impl Guild {
permissions
}
+ /// Retrieves the count of the number of [`Member`]s that would be pruned
+ /// with the number of given days.
+ ///
+ /// See the documentation on [`GuildPrune`] for more information.
+ ///
+ /// **Note**: Requires the [Kick Members] permission.
+ ///
+ /// # Errors
+ ///
+ /// If the `cache` is enabled, returns a [`ClientError::InvalidPermissions`]
+ /// if the current user does not have permission to perform bans.
+ ///
+ /// [`ClientError::InvalidPermissions`]: ../client/enum.ClientError.html#variant.InvalidPermissions
+ /// [`GuildPrune`]: struct.GuildPrune.html
+ /// [`Member`]: struct.Member.html
+ /// [Kick Members]: permissions/constant.KICK_MEMBERS.html
+ pub fn prune_count(&self, days: u16) -> Result<GuildPrune> {
+ #[cfg(feature="cache")]
+ {
+ let req = permissions::KICK_MEMBERS;
+
+ if !self.has_perms(req)? {
+ return Err(Error::Client(ClientError::InvalidPermissions(req)));
+ }
+ }
+
+ self.id.prune_count(days)
+ }
+
/// Returns the Id of the shard associated with the guild.
///
/// When the cache is enabled this will automatically retrieve the total
@@ -997,6 +979,116 @@ impl Guild {
self.id.unban(user_id)
}
+
+ /// Retrieves the guild's webhooks.
+ ///
+ /// **Note**: Requires the [Manage Webhooks] permission.
+ ///
+ /// [Manage Webhooks]: permissions/constant.MANAGE_WEBHOOKS.html
+ #[inline]
+ pub fn webhooks(&self) -> Result<Vec<Webhook>> {
+ self.id.webhooks()
+ }
+
+ /// Alias of [`bans`].
+ ///
+ /// [`bans`]: #method.bans
+ #[deprecated(since="0.1.5", note="Use `bans` instead.")]
+ #[inline]
+ pub fn get_bans(&self) -> Result<Vec<Ban>> {
+ self.bans()
+ }
+
+ /// Alias of [`channels`].
+ ///
+ /// [`channels`]: #method.channels
+ #[deprecated(since="0.1.5", note="Use `channels` instead.")]
+ #[inline]
+ pub fn get_channels(&self) -> Result<HashMap<ChannelId, GuildChannel>> {
+ self.channels()
+ }
+
+ /// Alias of [`emoji`].
+ ///
+ /// [`emoji`]: #method.emoji
+ #[deprecated(since="0.1.5", note="Use `emoji` instead.")]
+ #[inline]
+ pub fn get_emoji<E: Into<EmojiId>>(&self, emoji_id: E) -> Result<Emoji> {
+ self.emoji(emoji_id)
+ }
+
+ /// Alias of [`emojis`].
+ ///
+ /// [`emojis`]: #method.emojis
+ #[deprecated(since="0.1.5", note="Use `emojis` instead.")]
+ #[inline]
+ pub fn get_emojis(&self) -> Result<Vec<Emoji>> {
+ self.emojis()
+ }
+
+ /// Alias of [`integrations`].
+ ///
+ /// [`integrations`]: #method.integrations
+ #[deprecated(since="0.1.5", note="Use `integrations` instead.")]
+ #[inline]
+ pub fn get_integrations(&self) -> Result<Vec<Integration>> {
+ self.integrations()
+ }
+
+ /// Alias of [`invites`].
+ ///
+ /// [`invites`]: #method.invites
+ #[deprecated(since="0.1.5", note="Use `invites` instead.")]
+ #[inline]
+ pub fn get_invites(&self) -> Result<Vec<RichInvite>> {
+ self.invites()
+ }
+
+ /// Alias of [`member`].
+ ///
+ /// [`member`]: #method.member
+ #[deprecated(since="0.1.5", note="Use `member` instead.")]
+ #[inline]
+ pub fn get_member<U: Into<UserId>>(&self, user_id: U) -> Result<Member> {
+ self.member(user_id)
+ }
+
+ /// Alias of [`members`].
+ ///
+ /// [`members`]: #method.members
+ #[deprecated(since="0.1.5", note="Use `members` instead.")]
+ #[inline]
+ pub fn get_members<U>(&self, limit: Option<u64>, after: Option<U>)
+ -> Result<Vec<Member>> where U: Into<UserId> {
+ self.members(limit, after)
+ }
+
+ /// Alias of [`member_named`].
+ ///
+ /// [`member_named`]: #method.member_named
+ #[deprecated(since="0.1.5", note="Use `member_named` instead.")]
+ #[inline]
+ pub fn get_member_named(&self, name: &str) -> Option<&Member> {
+ self.member_named(name)
+ }
+
+ /// Alias of [`prune_count`].
+ ///
+ /// [`prune_count`]: #method.prune_count
+ #[deprecated(since="0.1.5", note="Use `prune_count` instead.")]
+ #[inline]
+ pub fn get_prune_count(&self, days: u16) -> Result<GuildPrune> {
+ self.prune_count(days)
+ }
+
+ /// Alias of [`webhooks`].
+ ///
+ /// [`webhooks`]: #method.webhooks
+ #[deprecated(since="0.1.5", note="Use `webhooks` instead.")]
+ #[inline]
+ pub fn get_webhooks(&self) -> Result<Vec<Webhook>> {
+ self.webhooks()
+ }
}
impl Deserialize for Guild {