aboutsummaryrefslogtreecommitdiff
path: root/examples/guessing_game.py
diff options
context:
space:
mode:
authorRapptz <[email protected]>2015-12-19 23:57:42 -0500
committerRapptz <[email protected]>2015-12-19 23:57:42 -0500
commitba3e00c3bfaa2243248d98a02658b7f897527f81 (patch)
tree66ef6723e2a529493b638a0f484e90425ef937f4 /examples/guessing_game.py
parentAdd voice playlist example code. (diff)
downloaddiscord.py-ba3e00c3bfaa2243248d98a02658b7f897527f81.tar.xz
discord.py-ba3e00c3bfaa2243248d98a02658b7f897527f81.zip
Add guessing game example to showcase wait_for_message.
Diffstat (limited to 'examples/guessing_game.py')
-rw-r--r--examples/guessing_game.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/examples/guessing_game.py b/examples/guessing_game.py
new file mode 100644
index 00000000..0cbf4a7e
--- /dev/null
+++ b/examples/guessing_game.py
@@ -0,0 +1,37 @@
+import discord
+import random
+
+client = discord.Client()
+
+def on_message(message):
+ # we do not want the bot to reply to itself
+ if message.author == client.user:
+ return
+
+ if message.content.startswith('$guess'):
+ yield from client.send_message(message.channel, 'Guess a number between 1 to 10')
+
+ def guess_check(m):
+ return m.content.isdigit()
+
+ guess = yield from client.wait_for_message(timeout=5.0, author=message.author, check=guess_check)
+ answer = random.randint(1, 10)
+ if guess is None:
+ fmt = 'Sorry, you took too long. It was {}.'
+ yield from client.send_message(message.channel, fmt.format(answer))
+ return
+ if int(guess.content) == answer:
+ yield from client.send_message(message.channel, 'You are right!')
+ else:
+ yield from client.send_message(message.channel, 'Sorry. It is actually {}.'.format(answer))
+
+
+def on_ready():
+ print('Logged in as')
+ print(client.user.name)
+ print(client.user.id)
+ print('------')
+
+client.run('email', 'password')