Update background_task example to use ext.tasks
This commit is contained in:
parent
0c3be9713d
commit
5ed47cacc7
@ -1,12 +1,16 @@
|
|||||||
|
from discord.ext import tasks
|
||||||
|
|
||||||
import discord
|
import discord
|
||||||
import asyncio
|
|
||||||
|
|
||||||
class MyClient(discord.Client):
|
class MyClient(discord.Client):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
# create the background task and run it in the background
|
# an attribute we can access from our task
|
||||||
self.bg_task = self.loop.create_task(self.my_background_task())
|
self.counter = 0
|
||||||
|
|
||||||
|
# start the task to run in the background
|
||||||
|
self.my_background_task.start()
|
||||||
|
|
||||||
async def on_ready(self):
|
async def on_ready(self):
|
||||||
print('Logged in as')
|
print('Logged in as')
|
||||||
@ -14,14 +18,15 @@ class MyClient(discord.Client):
|
|||||||
print(self.user.id)
|
print(self.user.id)
|
||||||
print('------')
|
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):
|
async def my_background_task(self):
|
||||||
await self.wait_until_ready()
|
|
||||||
counter = 0
|
|
||||||
channel = self.get_channel(1234567) # channel ID goes here
|
channel = self.get_channel(1234567) # channel ID goes here
|
||||||
while not self.is_closed():
|
self.counter += 1
|
||||||
counter += 1
|
await channel.send(counter)
|
||||||
await channel.send(counter)
|
|
||||||
await asyncio.sleep(60) # task runs every 60 seconds
|
|
||||||
|
|
||||||
|
|
||||||
client = MyClient()
|
client = MyClient()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user