diff options
author | 2021-08-28 11:38:38 +0100 | |
---|---|---|
committer | 2021-08-28 11:38:38 +0100 | |
commit | 2a83c5f8f7b9bfd60a50e67f20c04f31651bbcaa (patch) | |
tree | f7835ed7c727ddc73ae9d4e91536c8dba5e2b70c | |
parent | Added bot variables tag (#1784) (diff) |
Only check URL-like objects against domain filters
Previously a message such as 'https://google.com hello! flask.request.method' would be
filtered due to us filtering the url shortener t.me. This commit changes to logic so
that we only check parts of the messages that matched the URL regex against our
blacklist, to avoid these false-positives.
-rw-r--r-- | bot/exts/filters/filtering.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/bot/exts/filters/filtering.py b/bot/exts/filters/filtering.py index 10cc7885d..b7e91395e 100644 --- a/bot/exts/filters/filtering.py +++ b/bot/exts/filters/filtering.py @@ -478,15 +478,16 @@ class Filtering(Cog): Second return value is a reason of URL blacklisting (can be None). """ text = self.clean_input(text) - if not URL_RE.search(text): + matches = URL_RE.findall(text) + if not matches: return False, None - text = text.lower() domain_blacklist = self._get_filterlist_items("domain_name", allowed=False) for url in domain_blacklist: - if url.lower() in text: - return True, self._get_filterlist_value("domain_name", url, allowed=False)["comment"] + for match in matches: + if url.lower() in match.lower(): + return True, self._get_filterlist_value("domain_name", url, allowed=False)["comment"] return False, None |