diff options
| author | Zeyla Hellyer <[email protected]> | 2018-09-14 21:41:31 -0700 |
|---|---|---|
| committer | Zeyla Hellyer <[email protected]> | 2018-09-14 21:45:47 -0700 |
| commit | 3fbab7638be44914a7a28ac366ca03d4d1df9bba (patch) | |
| tree | 0ee6944cd87b9ee5a9179ec6a3f2521e82378571 /src | |
| parent | Check if a group is empty and exclude them if that's the case. (#389) (diff) | |
| download | serenity-3fbab7638be44914a7a28ac366ca03d4d1df9bba.tar.xz serenity-3fbab7638be44914a7a28ac366ca03d4d1df9bba.zip | |
Message: avoid perm checks in non-guild channels
Diffstat (limited to 'src')
| -rw-r--r-- | src/model/channel/message.rs | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/src/model/channel/message.rs b/src/model/channel/message.rs index d1c55b7..b72849c 100644 --- a/src/model/channel/message.rs +++ b/src/model/channel/message.rs @@ -407,10 +407,12 @@ impl Message { pub fn pin(&self) -> Result<()> { #[cfg(feature = "cache")] { - let req = Permissions::MANAGE_MESSAGES; + if self.guild_id.is_some() { + let req = Permissions::MANAGE_MESSAGES; - if !utils::user_has_perms(self.channel_id, req)? { - return Err(Error::Model(ModelError::InvalidPermissions(req))); + if !utils::user_has_perms(self.channel_id, req)? { + return Err(Error::Model(ModelError::InvalidPermissions(req))); + } } } @@ -440,10 +442,12 @@ impl Message { fn _react(&self, reaction_type: &ReactionType) -> Result<()> { #[cfg(feature = "cache")] { - let req = Permissions::ADD_REACTIONS; + if self.guild_id.is_some() { + let req = Permissions::ADD_REACTIONS; - if !utils::user_has_perms(self.channel_id, req)? { - return Err(Error::Model(ModelError::InvalidPermissions(req))); + if !utils::user_has_perms(self.channel_id, req)? { + return Err(Error::Model(ModelError::InvalidPermissions(req))); + } } } @@ -479,10 +483,12 @@ impl Message { #[cfg(feature = "cache")] { - let req = Permissions::SEND_MESSAGES; + if self.guild_id.is_some() { + let req = Permissions::SEND_MESSAGES; - if !utils::user_has_perms(self.channel_id, req)? { - return Err(Error::Model(ModelError::InvalidPermissions(req))); + if !utils::user_has_perms(self.channel_id, req)? { + return Err(Error::Model(ModelError::InvalidPermissions(req))); + } } } @@ -532,10 +538,12 @@ impl Message { pub fn unpin(&self) -> Result<()> { #[cfg(feature = "cache")] { - let req = Permissions::MANAGE_MESSAGES; + if self.guild_id.is_some() { + let req = Permissions::MANAGE_MESSAGES; - if !utils::user_has_perms(self.channel_id, req)? { - return Err(Error::Model(ModelError::InvalidPermissions(req))); + if !utils::user_has_perms(self.channel_id, req)? { + return Err(Error::Model(ModelError::InvalidPermissions(req))); + } } } |