From ba3e00c3bfaa2243248d98a02658b7f897527f81 Mon Sep 17 00:00:00 2001 From: Rapptz Date: Sat, 19 Dec 2015 23:57:42 -0500 Subject: [PATCH] Add guessing game example to showcase wait_for_message. --- examples/guessing_game.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 examples/guessing_game.py diff --git a/examples/guessing_game.py b/examples/guessing_game.py new file mode 100644 index 000000000..0cbf4a7e8 --- /dev/null +++ b/examples/guessing_game.py @@ -0,0 +1,37 @@ +import discord +import random + +client = discord.Client() + +@client.async_event +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)) + + +@client.async_event +def on_ready(): + print('Logged in as') + print(client.user.name) + print(client.user.id) + print('------') + +client.run('email', 'password')