Invite Filter Raises on Invalid Invites
Currently, if the [`_has_invites`](https://github.com/python-discord/bot/blob/007f771b9cdf9de608920feea7f0e4a98b61fcab/bot/cogs/filtering.py#L290) catches an invalid/expired/etc. link it returns `True`, which motors down the filtering logic to a point where we're expecting a dictionary (a valid guild response from Discord's API):

https://github.com/python-discord/bot/blob/007f771b9cdf9de608920feea7f0e4a98b61fcab/bot/cogs/filtering.py#L215-L217

Since booleans don't have items, this will raise an `AttributeError`

The following logic block needs to be adjusted to prevent this issue from occurring:

https://github.com/python-discord/bot/blob/007f771b9cdf9de608920feea7f0e4a98b61fcab/bot/cogs/filtering.py#L314-L318

There are two approaches for resolution here:
  * Rather than return `True`, this conditional should generate a dictionary that's compatible with the above embed generation logic, indicating that an invite was provided but it's invalid
  * Return `False` instead, since we probably don't care about invite links that don't resolve
diff --git a/bot/cogs/filtering.py b/bot/cogs/filtering.py
index 1e21a4ce..1d9fddb1 100644
--- a/bot/cogs/filtering.py
+++ b/bot/cogs/filtering.py
@@ -214,7 +214,9 @@ class Filtering(Cog):
                         additional_embeds = None
                         additional_embeds_msg = None
 
-                        if filter_name == "filter_invites":
+                        # The function returns True for invalid invites.
+                        # They have no data so additional embeds can't be created for them.
+                        if filter_name == "filter_invites" and match is not True:
                             additional_embeds = []
                             for invite, data in match.items():
                                 embed = discord.Embed(description=(
['bot/cogs/filtering.py']