From 4513dac7a37ec0c554e6c1051ccf42e5f264a1cb Mon Sep 17 00:00:00 2001 From: Rapptz Date: Thu, 11 Apr 2019 08:19:50 -0400 Subject: [PATCH] [tasks] Ensure total number of seconds is not less than 0. --- discord/ext/tasks/__init__.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/discord/ext/tasks/__init__.py b/discord/ext/tasks/__init__.py index 1c5c791ab..91e49c3a7 100644 --- a/discord/ext/tasks/__init__.py +++ b/discord/ext/tasks/__init__.py @@ -40,7 +40,11 @@ class Loop: self._sleep = sleep = self.seconds + (self.minutes * 60.0) + (self.hours * 3600.0) if sleep >= MAX_ASYNCIO_SECONDS: - raise ValueError('Total time exceeds asyncio imposed limit of {0} seconds.'.format(MAX_ASYNCIO_SECONDS)) + fmt = 'Total number of seconds exceeds asyncio imposed limit of {0} seconds.' + raise ValueError(fmt.format(MAX_ASYNCIO_SECONDS)) + + if sleep < 0: + raise ValueError('Total number of seconds cannot be less than zero.') if not inspect.iscoroutinefunction(self.coro): raise TypeError('Expected coroutine function, not {0!r}.'.format(type(self.coro))) @@ -74,7 +78,6 @@ class Loop: """:class:`int`: The current iteration of the loop.""" return self._current_loop - def start(self, *args, **kwargs): r"""Starts the internal task in the event loop. @@ -205,5 +208,5 @@ def loop(*, seconds=0, minutes=0, hours=0, count=None, reconnect=True, loop=None """ def decorator(func): return Loop(func, seconds=seconds, minutes=minutes, hours=hours, - count=count, reconnect=reconnect, loop=loop) + count=count, reconnect=reconnect, loop=loop) return decorator