From eb673ec2af5f224310b9ea90d2e3b905a2bd55c6 Mon Sep 17 00:00:00 2001 From: Rapptz Date: Thu, 10 Aug 2017 03:15:19 -0400 Subject: [PATCH] [commands] Ensure no mentions escape clean_content Some clever nicknames or role names would lead themselves to resolving to pings. --- discord/ext/commands/converter.py | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/discord/ext/commands/converter.py b/discord/ext/commands/converter.py index df34f47ff..5e767c90c 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)