diff options
| author | 2020-09-19 20:36:54 -0400 | |
|---|---|---|
| committer | 2020-09-19 20:36:54 -0400 | |
| commit | 91ca04e823eff28907f4018b851bf78a1ffb085e (patch) | |
| tree | ef85d26c8d41b078d2d623f1aa6b6bbbe0c60a61 | |
| parent | Allow `issue` command in #dev-branding (diff) | |
Limit maximum PRs/issues to 10 per invocation
| -rw-r--r-- | bot/exts/evergreen/issues.py | 15 | 
1 files changed, 14 insertions, 1 deletions
| diff --git a/bot/exts/evergreen/issues.py b/bot/exts/evergreen/issues.py index 97baac6a..2a9359b7 100644 --- a/bot/exts/evergreen/issues.py +++ b/bot/exts/evergreen/issues.py @@ -1,9 +1,10 @@  import logging +import random  import discord  from discord.ext import commands -from bot.constants import Channels, Colours, Emojis, WHITELISTED_CHANNELS +from bot.constants import Channels, Colours, Emojis, ERROR_REPLIES, WHITELISTED_CHANNELS  from bot.utils.decorators import override_in_channel  log = logging.getLogger(__name__) @@ -13,6 +14,8 @@ BAD_RESPONSE = {      403: "Rate limit has been hit! Please try again later!"  } +MAX_REQUESTS = 10 +  class Issues(commands.Cog):      """Cog that allows users to retrieve issues from GitHub.""" @@ -31,6 +34,16 @@ class Issues(commands.Cog):      ) -> None:          """Command to retrieve issue(s) from a GitHub repository."""          links = [] +        numbers = set(numbers) + +        if len(numbers) > MAX_REQUESTS: +            embed = discord.Embed( +                title=random.choice(ERROR_REPLIES), +                color=Colours.soft_red, +                description=f"Too many issues/PRs! (maximum of {MAX_REQUESTS})" +            ) +            await ctx.send(embed=embed) +            return          for number in set(numbers):              # Convert from list to set to remove duplicates, if any. | 
