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. |