diff --git a/interactions/models/internal/tasks/task.py b/interactions/models/internal/tasks/task.py index 9aa3eeac4..d743b8469 100644 --- a/interactions/models/internal/tasks/task.py +++ b/interactions/models/internal/tasks/task.py @@ -111,6 +111,7 @@ async def _task_loop(self) -> None: def start(self) -> None: """Start this task.""" try: + self.trigger.reschedule() self._stop.clear() self.task = asyncio.create_task(self._task_loop()) except RuntimeError: diff --git a/interactions/models/internal/tasks/triggers.py b/interactions/models/internal/tasks/triggers.py index 5eacdea67..4343dcc94 100644 --- a/interactions/models/internal/tasks/triggers.py +++ b/interactions/models/internal/tasks/triggers.py @@ -15,6 +15,10 @@ def __new__(cls, *args, **kwargs) -> "BaseTrigger": def __or__(self, other: "BaseTrigger") -> "OrTrigger": return OrTrigger(self, other) + def reschedule(self) -> None: + """Update the last call time to now""" + self.last_call_time = datetime.now() + @abstractmethod def next_fire(self) -> datetime | None: """