63565026c4
Remove on_status event. Superseded by on_member_update.
2015-12-17 06:18:08 -05:00
49d78c69c7
All update related events now pass in the previous state.
2015-12-17 06:05:35 -05:00
78e95ef755
Documentation fixes.
2015-12-17 04:11:38 -05:00
5f4e13df96
Fix Channel.permissions_for attribute error.
2015-12-17 01:29:20 -05:00
51d91c2a82
Most data classes now support hashing.
2015-12-17 00:32:54 -05:00
613214f197
Add Message.clean_content property to get prettified mentions.
2015-12-17 00:15:41 -05:00
ebcb532c38
Change regex from \d+ to [0-9]+ for performance reasons.
...
\d+ includes unicode characters while [0-9]+ doesn't.
2015-12-16 23:46:02 -05:00
4f66d41ca3
Add Server.me attribute to access the Member version of Client.user.
2015-12-16 23:35:05 -05:00
f78e3c9f0b
Fix Client.logs_from failing if no more messages are found.
2015-12-16 22:44:45 -05:00
434fc5c79e
Remove the non-classmethod attributes in Permissions.
2015-12-16 22:21:09 -05:00
9f92536441
Clean-up documentation to use NumPy style docs on remaining classes.
2015-12-16 22:20:54 -05:00
de1c74a399
Make more things into properties.
...
A lot of the expensive getters were transformed into cached properties
instead. A lot of things that were properties were transformed into
properties as well.
2015-12-16 22:03:16 -05:00
f484a5c023
Channel.is_default_channel is now a property named is_default.
2015-12-16 19:54:26 -05:00
271c7565fc
Make Client.unban actually useful.
2015-12-16 19:32:08 -05:00
7d08a07cb9
Fix issue with roles being passed in being strings.
...
Client.add_roles and Client.remove_roles would dispatch to the
Client.replace_roles function. However, replace_roles expects Role
objects while the dispatching involved string IDs. So as a result this
needed another layer of dispatch into a _replace_roles function to do
the actual call that all three of them dispatch to.
2015-12-16 00:14:58 -05:00
658090f129
Fix NameError with itertools in client.
2015-12-16 00:04:15 -05:00
491d508a97
Cast Retry-After header into a float.
2015-12-15 21:00:11 -05:00
00a98a76fd
Add a way to get all active invites from a server.
2015-12-15 20:19:37 -05:00
42c67e3605
Add a way to get bans from a server.
2015-12-15 19:59:41 -05:00
7f0a048299
Fix GUILD_ROLE_DELETE triggering ValueError.
2015-12-14 23:26:22 -05:00
6d26d73e24
Client.run now does cleanup when KeyboardInterrupt is encountered.
2015-12-14 16:26:15 -05:00
9137d92f67
All data classes now support !=, == and str(obj).
2015-12-13 22:53:48 -05:00
ab46afee1d
Changed functions that return a constant value into properties.
2015-12-13 20:05:58 -05:00
c52e552888
Editing profile now writes to the cache.
2015-12-13 16:24:23 -05:00
3dc2177ce8
Change the login cache check call to be the gateway retrieval.
2015-12-13 14:45:59 -05:00
037da750dd
avoid potential bug when creating new private msgs
...
It probably isn't good to rely on an item that was added to a list to
still be the last item, especially if we could have other async
coroutines modify the list. This may not be an actual issue, but having
the function explicitly return the object that it just added to the list
should guarantee that we don't accidentally pull the wrong item from the
end of the list later.
2015-12-13 13:01:05 -05:00
0215345abb
Remove uses of ClientSession.
2015-12-13 02:32:53 -05:00
e39ba00dcf
Client.logout now properly cleans up the response.
2015-12-13 02:13:09 -05:00
338fb3e504
Add discord.utils.get helper.
2015-12-13 02:13:08 -05:00
29ea58d008
Implement cache of login credentials.
...
Also add endpoints.ME to easily access the @me endpoint.
2015-12-13 02:12:06 -05:00
fa3e5c8d77
Client.login no longer calls resp.json()
...
aiohttp didn't like it.
2015-12-12 17:47:27 -05:00
2b6bdf7c82
Fix bug where PMs would be sent to the wrong person.
...
This bug triggered because we did not call `yield from` to the
coroutine that starts the private message if it isn't found in cache.
Obviously the fix for that is to make the destination resolution a
coroutine and thus it'll be invoked correctly.
2015-12-12 13:37:58 -05:00
0009225d08
Fix send_file to actually work with aiohttp.
2015-12-12 11:39:16 -05:00
92212a4f2a
Proper keyword argument for send_file
2015-12-12 11:16:35 -05:00
2a3610de2f
Implement fix for future rate limiting change in discord.
2015-12-12 11:14:32 -05:00
b5a40b545e
Websocket now uses the event loop passed in.
2015-12-12 10:30:56 -05:00
b5c57fc399
logs_from now works again with limit > 100.
2015-12-12 10:26:30 -05:00
f55d82146e
Remove socket.shutdown and only use socket.close instead.
2015-12-11 03:10:51 -05:00
c4e6a53dfe
Add experimental ytdl player.
2015-12-11 03:10:30 -05:00
3cefa5d65c
ffmpeg process is now properly killed.
...
Two new options are added to the ffmpeg player. `options` and `pipe`.
If `pipe` is True then we can pass in a file-like object to be the
stdin of ffmpeg. `options` allows you to pass extra things to the
ffmpeg command line.
2015-12-11 01:36:41 -05:00
bec7071c48
Add missing implementation for create_stream_player.
2015-12-10 22:39:00 -05:00
98ba68bb66
Simplified permissions bit operations.
2015-12-10 06:08:49 -05:00
7834236044
Close the ClientSession in __del__.
2015-12-10 04:52:20 -05:00
d3fac94e21
Fix bug where Role.is_everyone doesn't propagate in GUILD_ROLE_UPDATE.
2015-12-10 00:10:01 -05:00
e4cdbca476
Add missing Role import in Client.
2015-12-09 23:31:18 -05:00
e25cfae31d
I'm being forced to change the user agent string again.
2015-12-09 21:49:39 -05:00
573fa90f1b
Modify User-Agent header to meet React's requirements.
2015-12-09 21:35:06 -05:00
eda3c626db
Client now keeps a reference to the VoiceClient constructed.
2015-12-09 21:32:33 -05:00
2bf527334f
Add discord.version_info
2015-12-09 19:50:17 -05:00
6a4bddd69b
Add ability to pause/resume audio stream from StreamPlayer.
2015-12-09 18:33:39 -05:00