aboutsummaryrefslogtreecommitdiff
path: root/src/model/guild/guild_id.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/model/guild/guild_id.rs')
-rw-r--r--src/model/guild/guild_id.rs28
1 files changed, 6 insertions, 22 deletions
diff --git a/src/model/guild/guild_id.rs b/src/model/guild/guild_id.rs
index 68212c7..c2cfc3d 100644
--- a/src/model/guild/guild_id.rs
+++ b/src/model/guild/guild_id.rs
@@ -46,30 +46,14 @@ impl GuildId {
/// [`Guild::ban`]: struct.Guild.html#method.ban
/// [`User`]: struct.User.html
/// [Ban Members]: permissions/constant.BAN_MEMBERS.html
- pub fn ban<U: Into<UserId>, BO: Into<BanOptions>>(&self, user: U, ban_options: BO)
+ pub fn ban<U: Into<UserId>, BO: BanOptions>(&self, user: U, ban_options: BO)
-> Result<()> {
-
- use self::BanOptions::*;
-
- match ban_options.into() {
- DeleteMessageDays(dmd) => {
- if dmd > 7 {
- return Err(Error::Model(ModelError::DeleteMessageDaysAmount(dmd)));
- }
-
- http::ban_user(self.0, user.into().0, dmd, "")
- },
- DMDReason(dmd, reason) => {
- if dmd > 7 {
- return Err(Error::Model(ModelError::DeleteMessageDaysAmount(dmd)));
- }
-
- http::ban_user(self.0, user.into().0, dmd, &*reason)
- },
- Reason(reason) => {
- http::ban_user(self.0, user.into().0, 0, &*reason)
- },
+ let dmd = ban_options.dmd();
+ if dmd > 7 {
+ return Err(Error::Model(ModelError::DeleteMessageDaysAmount(dmd)));
}
+
+ http::ban_user(self.0, user.into().0, dmd, &*ban_options.reason())
}
/// Gets a list of the guild's bans.