aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRapptz <[email protected]>2017-08-10 03:15:19 -0400
committerRapptz <[email protected]>2017-08-10 03:17:24 -0400
commiteb673ec2af5f224310b9ea90d2e3b905a2bd55c6 (patch)
tree51a3385c8c0ed9c903334f34ec62c73cfe9b8230
parent[commands] Fix clean_content converter not properly escaping mentions. (diff)
downloaddiscord.py-eb673ec2af5f224310b9ea90d2e3b905a2bd55c6.tar.xz
discord.py-eb673ec2af5f224310b9ea90d2e3b905a2bd55c6.zip
[commands] Ensure no mentions escape clean_content
Some clever nicknames or role names would lead themselves to resolving to pings.
-rw-r--r--discord/ext/commands/converter.py12
1 files changed, 2 insertions, 10 deletions
diff --git a/discord/ext/commands/converter.py b/discord/ext/commands/converter.py
index df34f47f..5e767c90 100644
--- a/discord/ext/commands/converter.py
+++ b/discord/ext/commands/converter.py
@@ -436,13 +436,5 @@ class clean_content(Converter):
pattern = re.compile('|'.join(transformations.keys()))
result = pattern.sub(replace, result)
- transformations = {
- '@everyone': '@\u200beveryone',
- '@here': '@\u200bhere'
- }
-
- def repl2(obj):
- return transformations.get(obj.group(0), '')
-
- pattern = re.compile('|'.join(transformations.keys()))
- return pattern.sub(repl2, result)
+ # Completely ensure no mentions escape:
+ return re.sub(r'@(everyone|here|[!&]?[0-9]{17,21})', '@\u200b\\1', result)