diff --git a/README.md b/README.md index b967929..bc0a110 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ It is recommended that the alerts channel be registered and monitored. * **`blacklist/title`**: This is a list of strings. If a title is one of these strings, it is not posted. The comparison is case insensitive. * **`blacklist/url`**: This is a list of strings. If a URL is one of these strings, its title is not posted. -The comparison is case sensitive. +The comparison is case insensitive. * **`ignores`**: This is a list of nicks to ignore. * **`mode`**: This can for example be `+igR` for [Freenode](https://freenode.net/kb/answer/usermodes). Setting it is recommended. diff --git a/ircurltitlebot/__main__.py b/ircurltitlebot/__main__.py index ea764e7..191db08 100644 --- a/ircurltitlebot/__main__.py +++ b/ircurltitlebot/__main__.py @@ -50,6 +50,7 @@ def load_config() -> None: blacklists["title"] = set(blacklists.get("title", set())) blacklists["title"] = {entry.casefold() for entry in blacklists["title"]} blacklists["url"] = set(blacklists.get("url", set())) + blacklists["url"] = {entry.casefold() for entry in blacklists["url"]} config.INSTANCE = instance_config diff --git a/ircurltitlebot/bot.py b/ircurltitlebot/bot.py index 0b27194..3ce086f 100644 --- a/ircurltitlebot/bot.py +++ b/ircurltitlebot/bot.py @@ -237,7 +237,7 @@ def _handle_privmsg(irc: miniirc.IRC, hostmask: Tuple[str, str, str], args: List urls = [url[0] for url in itertools.groupby(urls)] # Guarantees consecutive uniqueness. https://git.io/fjeWl # urls = [url for url in urls if not re.fullmatch(r'[^@]+@[^@]+\.[^@]+', url)] # Skips emails. https://git.io/fjeW3 urls = [url for url in urls if urlparse(url).scheme not in ("file", "git")] # Alt: scheme in ('http', 'https', '') - urls = [url for url in urls if url not in config.INSTANCE["blacklist"]["url"]] + urls = [url for url in urls if url.casefold() not in config.INSTANCE["blacklist"]["url"]] if urls: urls_str = ", ".join(urls) log.debug("Incoming message from %s in %s has %s URLs to process: %s", user, channel, len(urls), urls_str)