aboutsummaryrefslogtreecommitdiff
path: root/examples/background_task.py
diff options
context:
space:
mode:
authorRapptz <[email protected]>2015-12-19 20:40:06 -0500
committerRapptz <[email protected]>2015-12-19 20:40:06 -0500
commitbee044629d50766d42ddfb1c8c92ed3267033b14 (patch)
treee39bddf19fefa6534fcf839eea06e1aac9083e24 /examples/background_task.py
parentRename some listeners to `wait_until_`. (diff)
downloaddiscord.py-bee044629d50766d42ddfb1c8c92ed3267033b14.tar.xz
discord.py-bee044629d50766d42ddfb1c8c92ed3267033b14.zip
Add background_task example to showcase background tasks.
Diffstat (limited to 'examples/background_task.py')
-rw-r--r--examples/background_task.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/examples/background_task.py b/examples/background_task.py
new file mode 100644
index 00000000..7da6b7b9
--- /dev/null
+++ b/examples/background_task.py
@@ -0,0 +1,32 @@
+import discord
+import asyncio
+
+client = discord.Client()
+
+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
+
+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()