diff --git a/discord/ext/commands/converter.py b/discord/ext/commands/converter.py index 89b87f80a..850ca728f 100644 --- a/discord/ext/commands/converter.py +++ b/discord/ext/commands/converter.py @@ -102,7 +102,7 @@ class Converter: class IDConverter(Converter): def __init__(self): - self._id_regex = re.compile(r'([0-9]{15,21})$') + self._id_regex = re.compile(r'([0-9]{15,20})$') super().__init__() def _get_id_match(self, argument): @@ -265,11 +265,11 @@ class PartialMessageConverter(Converter): 3. By message URL """ def _get_id_matches(self, argument): - id_regex = re.compile(r'(?:(?P[0-9]{15,21})-)?(?P[0-9]{15,21})$') + id_regex = re.compile(r'(?:(?P[0-9]{15,20})-)?(?P[0-9]{15,20})$') link_regex = re.compile( r'https?://(?:(ptb|canary|www)\.)?discord(?:app)?\.com/channels/' - r'(?:[0-9]{15,21}|@me)' - r'/(?P[0-9]{15,21})/(?P[0-9]{15,21})/?$' + r'(?:[0-9]{15,20}|@me)' + r'/(?P[0-9]{15,20})/(?P[0-9]{15,20})/?$' ) match = id_regex.match(argument) or link_regex.match(argument) if not match: diff --git a/discord/utils.py b/discord/utils.py index 24428c7a3..b99bd70bd 100644 --- a/discord/utils.py +++ b/discord/utils.py @@ -544,4 +544,4 @@ def escape_mentions(text): :class:`str` The text with the mentions removed. """ - return re.sub(r'@(everyone|here|[!&]?[0-9]{17,21})', '@\u200b\\1', text) + return re.sub(r'@(everyone|here|[!&]?[0-9]{17,20})', '@\u200b\\1', text) diff --git a/discord/webhook.py b/discord/webhook.py index bdbc8eff1..9b22d42c6 100644 --- a/discord/webhook.py +++ b/discord/webhook.py @@ -687,7 +687,7 @@ class Webhook(Hashable): A partial webhook is just a webhook object with an ID and a token. """ - m = re.search(r'discord(?:app)?.com/api/webhooks/(?P[0-9]{17,21})/(?P[A-Za-z0-9\.\-\_]{60,68})', url) + m = re.search(r'discord(?:app)?.com/api/webhooks/(?P[0-9]{17,20})/(?P[A-Za-z0-9\.\-\_]{60,68})', url) if m is None: raise InvalidArgument('Invalid webhook URL given.') data = m.groupdict()