mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-05-16 10:49:24 +00:00
Add background_task example to showcase background tasks.
This commit is contained in:
parent
f0d5d7a490
commit
bee044629d
32
examples/background_task.py
Normal file
32
examples/background_task.py
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
import discord
|
||||||
|
import asyncio
|
||||||
|
|
||||||
|
client = discord.Client()
|
||||||
|
|
||||||
|
@asyncio.coroutine
|
||||||
|
def my_background_task():
|
||||||
|
yield from client.wait_until_ready()
|
||||||
|
counter = 0
|
||||||
|
channel = discord.Object(id='channel_id_here')
|
||||||
|
while not client.is_closed:
|
||||||
|
counter += 1
|
||||||
|
yield from client.send_message(channel, counter)
|
||||||
|
yield from asyncio.sleep(60) # task runs every 60 seconds
|
||||||
|
|
||||||
|
@client.async_event
|
||||||
|
def on_ready():
|
||||||
|
print('Logged in as')
|
||||||
|
print(client.user.name)
|
||||||
|
print(client.user.id)
|
||||||
|
print('------')
|
||||||
|
|
||||||
|
loop = asyncio.get_event_loop()
|
||||||
|
|
||||||
|
try:
|
||||||
|
loop.create_task(my_background_task())
|
||||||
|
loop.run_until_complete(client.login('email', 'password'))
|
||||||
|
loop.run_until_complete(client.connect())
|
||||||
|
except Exception:
|
||||||
|
loop.run_until_complete(client.close())
|
||||||
|
finally:
|
||||||
|
loop.close()
|
Loading…
x
Reference in New Issue
Block a user