aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Chris Lovering <[email protected]>2022-01-09 16:09:23 +0000
committerGravatar Chris Lovering <[email protected]>2022-01-09 17:34:07 +0000
commite9b72ccdf7fb74331176418d12ab298c2e1426ab (patch)
treeeff77c3fd473920899c81535e487b33724b963dc
parentAdd bot-core as a dependancy (diff)
use regex from bot-core for discord invites
-rw-r--r--bot/converters.py4
-rw-r--r--bot/exts/filters/filtering.py4
-rw-r--r--bot/utils/regex.py12
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})$')