diff options
author | 2022-01-09 16:09:23 +0000 | |
---|---|---|
committer | 2022-01-09 17:34:07 +0000 | |
commit | e9b72ccdf7fb74331176418d12ab298c2e1426ab (patch) | |
tree | eff77c3fd473920899c81535e487b33724b963dc | |
parent | Add bot-core as a dependancy (diff) |
use regex from bot-core for discord invites
-rw-r--r-- | bot/converters.py | 4 | ||||
-rw-r--r-- | bot/exts/filters/filtering.py | 4 | ||||
-rw-r--r-- | bot/utils/regex.py | 12 |
3 files changed, 4 insertions, 16 deletions
diff --git a/bot/converters.py b/bot/converters.py index 559e759e1..cd33f5ed0 100644 --- a/bot/converters.py +++ b/bot/converters.py @@ -9,6 +9,7 @@ import dateutil.parser import dateutil.tz import discord from aiohttp import ClientConnectorError +from botcore.regex import DISCORD_INVITE from dateutil.relativedelta import relativedelta from discord.ext.commands import BadArgument, Bot, Context, Converter, IDConverter, MemberConverter, UserConverter from discord.utils import escape_markdown, snowflake_time @@ -21,7 +22,6 @@ from bot.exts.info.doc import _inventory_parser from bot.exts.info.tags import TagIdentifier from bot.log import get_logger from bot.utils.extensions import EXTENSIONS, unqualify -from bot.utils.regex import INVITE_RE from bot.utils.time import parse_duration_string if t.TYPE_CHECKING: @@ -72,7 +72,7 @@ class ValidDiscordServerInvite(Converter): async def convert(self, ctx: Context, server_invite: str) -> dict: """Check whether the string is a valid Discord server invite.""" - invite_code = INVITE_RE.match(server_invite) + invite_code = DISCORD_INVITE.match(server_invite) if invite_code: response = await ctx.bot.http_session.get( f"{URLs.discord_invite_api}/{invite_code.group('invite')}" diff --git a/bot/exts/filters/filtering.py b/bot/exts/filters/filtering.py index ad904d147..1f83acf9b 100644 --- a/bot/exts/filters/filtering.py +++ b/bot/exts/filters/filtering.py @@ -10,6 +10,7 @@ import discord.errors import regex import tldextract from async_rediscache import RedisCache +from botcore.regex import DISCORD_INVITE from dateutil.relativedelta import relativedelta from discord import Colour, HTTPException, Member, Message, NotFound, TextChannel from discord.ext.commands import Cog @@ -23,7 +24,6 @@ from bot.exts.moderation.modlog import ModLog from bot.log import get_logger from bot.utils import scheduling from bot.utils.messages import format_user -from bot.utils.regex import INVITE_RE log = get_logger(__name__) @@ -566,7 +566,7 @@ class Filtering(Cog): # discord\.gg/gdudes-pony-farm text = text.replace("\\", "") - invites = [m.group("invite") for m in INVITE_RE.finditer(text)] + invites = [m.group("invite") for m in DISCORD_INVITE.finditer(text)] invite_data = dict() for invite in invites: if invite in invite_data: diff --git a/bot/utils/regex.py b/bot/utils/regex.py index 9dc1eba9d..205c3ae34 100644 --- a/bot/utils/regex.py +++ b/bot/utils/regex.py @@ -1,15 +1,3 @@ import re -INVITE_RE = re.compile( - r"(discord([\.,]|dot)gg|" # Could be discord.gg/ - r"discord([\.,]|dot)com(\/|slash)invite|" # or discord.com/invite/ - r"discordapp([\.,]|dot)com(\/|slash)invite|" # or discordapp.com/invite/ - r"discord([\.,]|dot)me|" # or discord.me - r"discord([\.,]|dot)li|" # or discord.li - r"discord([\.,]|dot)io|" # or discord.io. - r"((?<!\w)([\.,]|dot))gg" # or .gg/ - r")([\/]|slash)" # / or 'slash' - r"(?P<invite>[a-zA-Z0-9\-]+)", # the invite code itself - flags=re.IGNORECASE -) MESSAGE_ID_RE = re.compile(r'(?P<message_id>[0-9]{15,20})$') |