diff options
| author | 2020-10-03 20:40:37 -0400 | |
|---|---|---|
| committer | 2020-10-03 20:40:37 -0400 | |
| commit | bfcd4689b8cf8f0d1a26ffc1e1b0b4b9b9e9b59d (patch) | |
| tree | 1b65a822706f7a5915d888cc7438ff6d455806e6 | |
| parent | Replace `map` with a more pythonic list comprehension. (diff) | |
Remove duplicates from given rule indices and sort them in order.
| -rw-r--r-- | bot/exts/info/site.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/bot/exts/info/site.py b/bot/exts/info/site.py index 9e7f6b0a5..c8ae8dc96 100644 --- a/bot/exts/info/site.py +++ b/bot/exts/info/site.py @@ -122,10 +122,14 @@ class Site(Cog): return full_rules = await self.bot.api_client.get('rules', params={'link_format': 'md'}) - invalid_indices = tuple( - pick - for pick in rules - if pick < 1 or pick > len(full_rules) + + # Remove duplicates and sort the invalid rule indices + invalid_indices = sorted( + set( + pick + for pick in rules + if pick < 1 or pick > len(full_rules) + ) ) if invalid_indices: @@ -136,6 +140,9 @@ class Site(Cog): for rule in rules: self.bot.stats.incr(f"rule_uses.{rule}") + # Remove duplicates and sort the rule indices + rules = sorted(set(rules)) + final_rules = tuple(f"**{pick}.** {full_rules[pick - 1]}" for pick in rules) await LinePaginator.paginate(final_rules, ctx, rules_embed, max_lines=3) |