diff options
| author | Steve C <[email protected]> | 2020-05-06 15:35:41 -0400 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2020-05-07 02:30:24 -0400 |
| commit | 0fd5eca0d57c3dc49c84ebd0222288ea323b137b (patch) | |
| tree | eea1ff84ac8555273cb56b52ca4e791b611bca57 /discord/ext/tasks | |
| parent | fix HTTPException explanation in Guild.fetch_member docs (diff) | |
| download | discord.py-0fd5eca0d57c3dc49c84ebd0222288ea323b137b.tar.xz discord.py-0fd5eca0d57c3dc49c84ebd0222288ea323b137b.zip | |
[tasks] Fix tasks decorators being discarded
At this moment, when a task seems to be first loaded, it immediately throws away the decorators you give it, and just generates a new instance of itself.
In your cog's `__init__`, once you do `self.my_task.start()`, the Loop is remade when it gets to `self.my_task` before executing the `start` function. The original Loop that the cog starts with is where the decorated values are. This fixes that.
Diffstat (limited to 'discord/ext/tasks')
| -rw-r--r-- | discord/ext/tasks/__init__.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/discord/ext/tasks/__init__.py b/discord/ext/tasks/__init__.py index c95d2853..36cfe810 100644 --- a/discord/ext/tasks/__init__.py +++ b/discord/ext/tasks/__init__.py @@ -109,6 +109,9 @@ class Loop: copy = Loop(self.coro, seconds=self.seconds, hours=self.hours, minutes=self.minutes, count=self.count, reconnect=self.reconnect, loop=self.loop) copy._injected = obj + copy._before_loop = self._before_loop + copy._after_loop = self._after_loop + copy._error = self._error setattr(obj, self.coro.__name__, copy) return copy |