diff options
| author | Sebastian Law <[email protected]> | 2021-03-30 17:24:28 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-03-30 20:24:28 -0400 |
| commit | 5ed47cacc755a915ebb1475dd98794c62e76b79b (patch) | |
| tree | 8f6949c6943fe85357597683513dbd684c4bcb8d /examples/background_task.py | |
| parent | Raise error if position could not be resolved in GuildChannel.move (diff) | |
| download | discord.py-5ed47cacc755a915ebb1475dd98794c62e76b79b.tar.xz discord.py-5ed47cacc755a915ebb1475dd98794c62e76b79b.zip | |
Update background_task example to use ext.tasks
Diffstat (limited to 'examples/background_task.py')
| -rw-r--r-- | examples/background_task.py | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/examples/background_task.py b/examples/background_task.py index a72862fb..f2da6750 100644 --- a/examples/background_task.py +++ b/examples/background_task.py @@ -1,12 +1,16 @@ +from discord.ext import tasks + import discord -import asyncio class MyClient(discord.Client): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - # create the background task and run it in the background - self.bg_task = self.loop.create_task(self.my_background_task()) + # an attribute we can access from our task + self.counter = 0 + + # start the task to run in the background + self.my_background_task.start() async def on_ready(self): print('Logged in as') @@ -14,14 +18,15 @@ class MyClient(discord.Client): print(self.user.id) print('------') + @my_background_task.before_loop + async def before_my_task(self): + await self.wait_until_ready() # wait until the bot logs in + + @tasks.loop(seconds=60) # task runs every 60 seconds async def my_background_task(self): - await self.wait_until_ready() - counter = 0 channel = self.get_channel(1234567) # channel ID goes here - while not self.is_closed(): - counter += 1 - await channel.send(counter) - await asyncio.sleep(60) # task runs every 60 seconds + self.counter += 1 + await channel.send(counter) client = MyClient() |