aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bot/exts/filtering/_filters/unique/rich_embed.py51
1 files changed, 0 insertions, 51 deletions
diff --git a/bot/exts/filtering/_filters/unique/rich_embed.py b/bot/exts/filtering/_filters/unique/rich_embed.py
deleted file mode 100644
index cbcc90272..000000000
--- a/bot/exts/filtering/_filters/unique/rich_embed.py
+++ /dev/null
@@ -1,51 +0,0 @@
-import re
-
-from pydis_core.utils.logging import get_logger
-
-from bot.exts.filtering._filter_context import Event, FilterContext
-from bot.exts.filtering._filters.filter import UniqueFilter
-from bot.utils.helpers import remove_subdomain_from_url
-
-log = get_logger(__name__)
-
-URL_RE = re.compile(r"(https?://[^\)\s]+)", flags=re.IGNORECASE)
-
-
-class RichEmbedFilter(UniqueFilter):
- """Filter messages which contain rich embeds not auto-generated from a URL."""
-
- name = "rich_embed"
- events = (Event.MESSAGE, Event.MESSAGE_EDIT)
-
- async def triggered_on(self, ctx: FilterContext) -> bool:
- """Determine if `msg` contains any rich embeds not auto-generated from a URL."""
- if ctx.embeds:
- if ctx.event == Event.MESSAGE_EDIT:
- if not ctx.message.edited_at: # This might happen, apparently.
- return False
- # If the edit delta is less than 100 microseconds, it's probably a double filter trigger.
- delta = ctx.message.edited_at - (ctx.before_message.edited_at or ctx.before_message.created_at)
- if delta.total_seconds() < 0.0001:
- return False
-
- for embed in ctx.embeds:
- if embed.type == "rich":
- urls = URL_RE.findall(ctx.content)
- final_urls = set(urls)
- # This is due to the way discord renders relative urls in Embeds
- # if the following url is sent: https://mobile.twitter.com/something
- # Discord renders it as https://twitter.com/something
- for url in urls:
- final_urls.add(remove_subdomain_from_url(url))
- if not embed.url or embed.url not in final_urls:
- # If `embed.url` does not exist or if `embed.url` is not part of the content
- # of the message, it's unlikely to be an auto-generated embed by Discord.
- ctx.alert_embeds.extend(ctx.embeds)
- return True
-
- log.trace(
- "Found a rich embed sent by a regular user account, "
- "but it was likely just an automatic URL embed."
- )
-
- return False