diff --git a/examples/background_task.py b/examples/background_task.py index 7da6b7b9a..d08415e39 100644 --- a/examples/background_task.py +++ b/examples/background_task.py @@ -3,18 +3,17 @@ import asyncio client = discord.Client() -@asyncio.coroutine -def my_background_task(): - yield from client.wait_until_ready() +async def my_background_task(): + await 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 + await client.send_message(channel, counter) + await asyncio.sleep(60) # task runs every 60 seconds -@client.async_event -def on_ready(): +@client.event +async def on_ready(): print('Logged in as') print(client.user.name) print(client.user.id) diff --git a/examples/deleted.py b/examples/deleted.py index ca65ddc9a..a6490fa04 100644 --- a/examples/deleted.py +++ b/examples/deleted.py @@ -2,21 +2,21 @@ import discord client = discord.Client() -@client.async_event -def on_ready(): +@client.event +async def on_ready(): print('Connected!') print('Username: ' + client.user.name) print('ID: ' + client.user.id) -@client.async_event -def on_message(message): +@client.event +async def on_message(message): if message.content.startswith('!deleteme'): - msg = yield from client.send_message(message.channel, 'I will delete myself now...') - yield from client.delete_message(msg) + msg = await client.send_message(message.channel, 'I will delete myself now...') + await client.delete_message(msg) -@client.async_event -def on_message_delete(message): +@client.event +async def on_message_delete(message): fmt = '{0.author.name} has deleted the message:\n{0.content}' - yield from client.send_message(message.channel, fmt.format(message)) + await client.send_message(message.channel, fmt.format(message)) client.run('email', 'password') diff --git a/examples/echo.py b/examples/echo.py deleted file mode 100644 index 8a0ae8643..000000000 --- a/examples/echo.py +++ /dev/null @@ -1,16 +0,0 @@ -import discord - -client = discord.Client() - -@client.async_event -def on_ready(): - print('Connected!') - print('Username: ' + client.user.name) - print('ID: ' + client.user.id) - -@client.async_event -def on_message(message): - if message.author.id != client.user.id: - yield from client.send_message(message.channel, message.content) - -client.run('email', 'password') diff --git a/examples/edits.py b/examples/edits.py index 3767b933d..a10393a09 100644 --- a/examples/edits.py +++ b/examples/edits.py @@ -3,22 +3,22 @@ import asyncio client = discord.Client() -@client.async_event -def on_ready(): +@client.event +async def on_ready(): print('Connected!') print('Username: ' + client.user.name) print('ID: ' + client.user.id) -@client.async_event -def on_message(message): +@client.event +async def on_message(message): if message.content.startswith('!editme'): - msg = yield from client.send_message(message.author, '10') - yield from asyncio.sleep(3) - yield from client.edit_message(msg, '40') + msg = await client.send_message(message.author, '10') + await asyncio.sleep(3) + await client.edit_message(msg, '40') -@client.async_event -def on_message_edit(before, after): +@client.event +async def on_message_edit(before, after): fmt = '**{0.author}** edited their message:\n{1.content}' - yield from client.send_message(after.channel, fmt.format(after, before)) + await client.send_message(after.channel, fmt.format(after, before)) client.run('email', 'password') diff --git a/examples/guessing_game.py b/examples/guessing_game.py index 0cbf4a7e8..491f84bb1 100644 --- a/examples/guessing_game.py +++ b/examples/guessing_game.py @@ -3,32 +3,32 @@ import random client = discord.Client() -@client.async_event -def on_message(message): +@client.event +async 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') + await 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) + guess = await 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)) + await client.send_message(message.channel, fmt.format(answer)) return if int(guess.content) == answer: - yield from client.send_message(message.channel, 'You are right!') + await client.send_message(message.channel, 'You are right!') else: - yield from client.send_message(message.channel, 'Sorry. It is actually {}.'.format(answer)) + await client.send_message(message.channel, 'Sorry. It is actually {}.'.format(answer)) -@client.async_event -def on_ready(): +@client.event +async def on_ready(): print('Logged in as') print(client.user.name) print(client.user.id) diff --git a/examples/new_member.py b/examples/new_member.py index d71e74b2f..69c13341c 100644 --- a/examples/new_member.py +++ b/examples/new_member.py @@ -2,14 +2,14 @@ import discord client = discord.Client() -@client.async_event -def on_member_join(member): +@client.event +async def on_member_join(member): server = member.server fmt = 'Welcome {0.mention} to {1.name}!' - yield from client.send_message(server, fmt.format(member, server)) + await client.send_message(server, fmt.format(member, server)) -@client.async_event -def on_ready(): +@client.event +async def on_ready(): print('Logged in as') print(client.user.name) print(client.user.id) diff --git a/examples/playlist.py b/examples/playlist.py index f01a07d80..f3466378c 100644 --- a/examples/playlist.py +++ b/examples/playlist.py @@ -5,7 +5,7 @@ if not discord.opus.is_loaded(): # the 'opus' library here is opus.dll on windows # or libopus.so on linux in the current directory # you should replace this with the location the - # opus library is located in. + # opus library is located in and with the proper filename. discord.opus.load_opus('opus') class VoiceEntry: @@ -32,69 +32,67 @@ class Bot(discord.Client): def is_playing(self): return self.player is not None and self.player.is_playing() - @asyncio.coroutine - def on_message(self, message): + async def on_message(self, message): if message.author == self.user: return if message.channel.is_private: - yield from self.send_message(message.channel, 'You cannot use this bot in private messages.') + await self.send_message(message.channel, 'You cannot use this bot in private messages.') if message.content.startswith('$join'): if self.is_voice_connected(): - yield from self.send_message(message.channel, 'Already connected to a voice channel') + await self.send_message(message.channel, 'Already connected to a voice channel') channel_name = message.content[5:].strip() check = lambda c: c.name == channel_name and c.type == discord.ChannelType.voice channel = discord.utils.find(check, message.server.channels) if channel is None: - yield from self.send_message(message.channel, 'Cannot find a voice channel by that name.') + await self.send_message(message.channel, 'Cannot find a voice channel by that name.') - yield from self.join_voice_channel(channel) + await self.join_voice_channel(channel) self.starter = message.author elif message.content.startswith('$leave'): if not self.can_control_song(message.author): return self.starter = None - yield from self.voice.disconnect() + await self.voice.disconnect() elif message.content.startswith('$pause'): if not self.can_control_song(message.author): fmt = 'Only the requester ({0.current.requester}) can control this song' - yield from self.send_message(message.channel, fmt.format(self)) + await self.send_message(message.channel, fmt.format(self)) if self.player.is_playing(): self.player.pause() elif message.content.startswith('$resume'): if not self.can_control_song(message.author): fmt = 'Only the requester ({0.current.requester}) can control this song' - yield from self.send_message(message.channel, fmt.format(self)) + await self.send_message(message.channel, fmt.format(self)) if self.player is not None and not self.is_playing(): self.player.resume() elif message.content.startswith('$next'): filename = message.content[5:].strip() - yield from self.songs.put(VoiceEntry(message, filename)) - yield from self.send_message(message.channel, 'Successfully registered {}'.format(filename)) + await self.songs.put(VoiceEntry(message, filename)) + await self.send_message(message.channel, 'Successfully registered {}'.format(filename)) elif message.content.startswith('$play'): if self.player is not None and self.player.is_playing(): - yield from self.send_message(message.channel, 'Already playing a song') + await self.send_message(message.channel, 'Already playing a song') return while True: if not self.is_voice_connected(): - yield from self.send_message(message.channel, 'Not connected to a voice channel') + await self.send_message(message.channel, 'Not connected to a voice channel') return self.play_next_song.clear() - self.current = yield from self.songs.get() + self.current = await self.songs.get() self.player = self.voice.create_ffmpeg_player(self.current.song, after=self.toggle_next_song) self.player.start() fmt = 'Playing song "{0.song}" from {0.requester}' - yield from self.send_message(self.current.channel, fmt.format(self.current)) - yield from self.play_next_song.wait() + await self.send_message(self.current.channel, fmt.format(self.current)) + await self.play_next_song.wait() - @asyncio.coroutine - def on_ready(self): + async def on_ready(self): print('Logged in as') print(self.user.name) print(self.user.id) diff --git a/examples/reply.py b/examples/reply.py index 2faf8a9d5..b111113ac 100644 --- a/examples/reply.py +++ b/examples/reply.py @@ -2,18 +2,18 @@ import discord client = discord.Client() -@client.async_event -def on_message(message): +@client.event +async def on_message(message): # we do not want the bot to reply to itself if message.author == client.user: return if message.content.startswith('!hello'): msg = 'Hello {0.author.mention}'.format(message) - yield from client.send_message(message.channel, msg) + await client.send_message(message.channel, msg) -@client.async_event -def on_ready(): +@client.event +async def on_ready(): print('Logged in as') print(client.user.name) print(client.user.id)