aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorZeyla Hellyer <[email protected]>2018-09-14 21:41:31 -0700
committerZeyla Hellyer <[email protected]>2018-09-14 21:45:47 -0700
commit3fbab7638be44914a7a28ac366ca03d4d1df9bba (patch)
tree0ee6944cd87b9ee5a9179ec6a3f2521e82378571 /src
parentCheck if a group is empty and exclude them if that's the case. (#389) (diff)
downloadserenity-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.rs32
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)));
+ }
}
}