aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bot/seasons/evergreen/bookmark.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/bot/seasons/evergreen/bookmark.py b/bot/seasons/evergreen/bookmark.py
index 0197f9f4..7bdd362c 100644
--- a/bot/seasons/evergreen/bookmark.py
+++ b/bot/seasons/evergreen/bookmark.py
@@ -24,7 +24,18 @@ class Bookmark(commands.Cog):
title: str = "Bookmark"
) -> None:
"""Send the author a link to `target_message` via DMs."""
- log.info(f"{ctx.author} bookmarked {target_message.jump_url} with title '{title}'")
+ # Prevent users from bookmarking a message in a channel they don't have access to
+ permissions = ctx.author.permissions_in(target_message.channel)
+ if not permissions.read_messages:
+ log.info(f"{ctx.author} tried to bookmark a message in #{target_message.channel} but has no permissions")
+ embed = discord.Embed(
+ title=random.choice(ERROR_REPLIES),
+ color=Colours.soft_red,
+ description="You don't have permission to view this channel."
+ )
+ await ctx.send(embed=embed)
+ return
+
embed = discord.Embed(
title=title,
colour=Colours.soft_green,
@@ -44,6 +55,7 @@ class Bookmark(commands.Cog):
)
await ctx.send(embed=error_embed)
else:
+ log.info(f"{ctx.author} bookmarked {target_message.jump_url} with title '{title}'")
await ctx.message.add_reaction(Emojis.envelope)