aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Dennis Pham <[email protected]>2020-09-29 23:30:35 -0400
committerGravatar GitHub <[email protected]>2020-09-29 23:30:35 -0400
commitdb35ee8c090702256a7b72b75e630ef58859e719 (patch)
tree4ccf8e2924c7950e534c6f22d43dcded8ef7b4e1
parentPR #458 Deps: update Pillow to 7.2 (diff)
parentMerge branch 'master' into fix-bast-linkwrap-syntax (diff)
Merge pull request #459 from bast0006/fix-bast-linkwrap-syntax
Make .bm handle embed-suppression syntax for message links
-rw-r--r--bot/exts/evergreen/bookmark.py3
-rw-r--r--bot/utils/converters.py16
2 files changed, 18 insertions, 1 deletions
diff --git a/bot/exts/evergreen/bookmark.py b/bot/exts/evergreen/bookmark.py
index 73908702..5fa05d2e 100644
--- a/bot/exts/evergreen/bookmark.py
+++ b/bot/exts/evergreen/bookmark.py
@@ -5,6 +5,7 @@ import discord
from discord.ext import commands
from bot.constants import Colours, ERROR_REPLIES, Emojis, Icons
+from bot.utils.converters import WrappedMessageConverter
log = logging.getLogger(__name__)
@@ -19,7 +20,7 @@ class Bookmark(commands.Cog):
async def bookmark(
self,
ctx: commands.Context,
- target_message: discord.Message,
+ target_message: WrappedMessageConverter,
*,
title: str = "Bookmark"
) -> None:
diff --git a/bot/utils/converters.py b/bot/utils/converters.py
new file mode 100644
index 00000000..228714c9
--- /dev/null
+++ b/bot/utils/converters.py
@@ -0,0 +1,16 @@
+import discord
+from discord.ext.commands.converter import MessageConverter
+
+
+class WrappedMessageConverter(MessageConverter):
+ """A converter that handles embed-suppressed links like <http://example.com>."""
+
+ async def convert(self, ctx: discord.ext.commands.Context, argument: str) -> discord.Message:
+ """Wrap the commands.MessageConverter to handle <> delimited message links."""
+ # It's possible to wrap a message in [<>] as well, and it's supported because its easy
+ if argument.startswith("[") and argument.endswith("]"):
+ argument = argument[1:-1]
+ if argument.startswith("<") and argument.endswith(">"):
+ argument = argument[1:-1]
+
+ return await super().convert(ctx, argument)