From d8bbf1c4c7f514c9445c46480530c6ba351a3255 Mon Sep 17 00:00:00 2001 From: Red-GitHubBot <88117545+Red-GitHubBot@users.noreply.github.com> Date: Sat, 4 Jun 2022 03:04:13 +0200 Subject: [PATCH] [3.4] Catch overflow errors for mutes time conversion (#5605) (#5739) (cherry picked from commit c8ff3c4cce112f349f8e61538d812d18998fa414) Co-authored-by: TrustyJAID Co-authored-by: TrustyJAID --- redbot/cogs/mutes/converters.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/redbot/cogs/mutes/converters.py b/redbot/cogs/mutes/converters.py index dbdafd2ad..ac3737d5d 100644 --- a/redbot/cogs/mutes/converters.py +++ b/redbot/cogs/mutes/converters.py @@ -5,6 +5,7 @@ from datetime import timedelta from discord.ext.commands.converter import Converter from redbot.core import commands +from redbot.core import i18n log = logging.getLogger("red.cogs.mutes") @@ -26,6 +27,8 @@ TIME_RE_STRING = r"|".join( TIME_RE = re.compile(TIME_RE_STRING, re.I) TIME_SPLIT = re.compile(r"t(?:ime)?=") +_ = i18n.Translator("Mutes", __file__) + class MuteTime(Converter): """ @@ -50,6 +53,11 @@ class MuteTime(Converter): if v: time_data[k] = int(v) if time_data: - result["duration"] = timedelta(**time_data) + try: + result["duration"] = timedelta(**time_data) + except OverflowError: + raise commands.BadArgument( + _("The time provided is too long; use a more reasonable time.") + ) result["reason"] = argument.strip() return result