aboutsummaryrefslogtreecommitdiffstats
path: root/bot/exts/evergreen/issues.py
diff options
context:
space:
mode:
authorGravatar Den4200 <[email protected]>2020-09-19 20:36:54 -0400
committerGravatar Den4200 <[email protected]>2020-09-19 20:36:54 -0400
commit91ca04e823eff28907f4018b851bf78a1ffb085e (patch)
treeef85d26c8d41b078d2d623f1aa6b6bbbe0c60a61 /bot/exts/evergreen/issues.py
parentAllow `issue` command in #dev-branding (diff)
Limit maximum PRs/issues to 10 per invocation
Diffstat (limited to 'bot/exts/evergreen/issues.py')
-rw-r--r--bot/exts/evergreen/issues.py15
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.