diff options
| author | 2022-08-20 16:33:42 +0100 | |
|---|---|---|
| committer | 2022-08-20 16:33:42 +0100 | |
| commit | 3a2b576f64bb4d435e5c96c7f8721c2120060d14 (patch) | |
| tree | e7ca672cc064b9a777a80f8656d0bd9709b1dfb3 | |
| parent | Refactor patreon tier logic, and address some review comments in the process (diff) | |
Make get_patreon_tier function more readable
Diffstat (limited to '')
| -rw-r--r-- | bot/exts/info/patreon.py | 13 | 
1 files changed, 8 insertions, 5 deletions
| diff --git a/bot/exts/info/patreon.py b/bot/exts/info/patreon.py index 6fdff4ed4..459f816c3 100644 --- a/bot/exts/info/patreon.py +++ b/bot/exts/info/patreon.py @@ -20,7 +20,8 @@ PATREON_INFORMATION = (      "[here](https://pydis.com/patreon)!"  ) -# List of tuples containing tier number and discord role id +# List of tuples containing tier number and Discord role ID. +# Ordered from highest tier to lowest.  PATREON_TIERS: list[tuple[int, int]] = [      (3, constants.Roles.patreon_tier_3),      (2, constants.Roles.patreon_tier_2), @@ -34,8 +35,10 @@ def get_patreon_tier(member: discord.Member) -> int:      A patreon tier of 0 indicates the user is not a patreon.      """ -    # Iterates over PATREON_TIERS, returning the first tier that matches the user, else 0. -    return next((tier for tier, role_id in PATREON_TIERS if has_role_id(member, role_id)), 0) +    for tier, role_id in PATREON_TIERS: +        if has_role_id(member, role_id): +            return tier +    return 0  class Patreon(commands.Cog): @@ -79,11 +82,11 @@ class Patreon(commands.Cog):              # Filter out any members where this is not their highest tier.              patrons = [member for member in role.members if get_patreon_tier(member) == tier] +            patron_names = [f"{patron.mention} ({patron.name}#{patron.discriminator})" for patron in patrons] -            names = [f"{patron.mention} ({patron.name}#{patron.discriminator})" for patron in patrons]              embed = discord.Embed(                  title=f"{role.name}", -                description="\n".join(names), +                description="\n".join(patron_names),                  colour=role.colour              )              embed_list.append(embed) | 
