3126 Commits

Author SHA1 Message Date
Rapptz
271c7565fc Make Client.unban actually useful. 2015-12-16 19:32:08 -05:00
Rapptz
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
Rapptz
658090f129 Fix NameError with itertools in client. 2015-12-16 00:04:15 -05:00
Rapptz
491d508a97 Cast Retry-After header into a float. 2015-12-15 21:00:11 -05:00
Rapptz
00a98a76fd Add a way to get all active invites from a server. 2015-12-15 20:19:37 -05:00
Rapptz
42c67e3605 Add a way to get bans from a server. 2015-12-15 19:59:41 -05:00
Rapptz
7f0a048299 Fix GUILD_ROLE_DELETE triggering ValueError. 2015-12-14 23:26:22 -05:00
Rapptz
6d26d73e24 Client.run now does cleanup when KeyboardInterrupt is encountered. 2015-12-14 16:26:15 -05:00
Rapptz
9137d92f67 All data classes now support !=, == and str(obj). 2015-12-13 22:53:48 -05:00
Rapptz
ab46afee1d Changed functions that return a constant value into properties. 2015-12-13 20:05:58 -05:00
Rapptz
c52e552888 Editing profile now writes to the cache. 2015-12-13 16:24:23 -05:00
Rapptz
3dc2177ce8 Change the login cache check call to be the gateway retrieval. 2015-12-13 14:45:59 -05:00
Steven Berler
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
Rapptz
0215345abb Remove uses of ClientSession. 2015-12-13 02:32:53 -05:00
Rapptz
e39ba00dcf Client.logout now properly cleans up the response. 2015-12-13 02:13:09 -05:00
Rapptz
338fb3e504 Add discord.utils.get helper. 2015-12-13 02:13:08 -05:00
Rapptz
29ea58d008 Implement cache of login credentials.
Also add endpoints.ME to easily access the @me endpoint.
2015-12-13 02:12:06 -05:00
Rapptz
fa3e5c8d77 Client.login no longer calls resp.json()
aiohttp didn't like it.
2015-12-12 17:47:27 -05:00
Rapptz
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
Rapptz
0009225d08 Fix send_file to actually work with aiohttp. 2015-12-12 11:39:16 -05:00
Rapptz
92212a4f2a Proper keyword argument for send_file 2015-12-12 11:16:35 -05:00
Rapptz
2a3610de2f Implement fix for future rate limiting change in discord. 2015-12-12 11:14:32 -05:00
Rapptz
b5a40b545e Websocket now uses the event loop passed in. 2015-12-12 10:30:56 -05:00
Rapptz
b5c57fc399 logs_from now works again with limit > 100. 2015-12-12 10:26:30 -05:00
Rapptz
f55d82146e Remove socket.shutdown and only use socket.close instead. 2015-12-11 03:10:51 -05:00
Rapptz
c4e6a53dfe Add experimental ytdl player. 2015-12-11 03:10:30 -05:00
Rapptz
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
Rapptz
bec7071c48 Add missing implementation for create_stream_player. 2015-12-10 22:39:00 -05:00
Rapptz
98ba68bb66 Simplified permissions bit operations. 2015-12-10 06:08:49 -05:00
Rapptz
7834236044 Close the ClientSession in __del__. 2015-12-10 04:52:20 -05:00
Rapptz
d3fac94e21 Fix bug where Role.is_everyone doesn't propagate in GUILD_ROLE_UPDATE. 2015-12-10 00:10:01 -05:00
Rapptz
e4cdbca476 Add missing Role import in Client. 2015-12-09 23:31:18 -05:00
Rapptz
e25cfae31d I'm being forced to change the user agent string again. 2015-12-09 21:49:39 -05:00
Rapptz
573fa90f1b Modify User-Agent header to meet React's requirements. 2015-12-09 21:35:06 -05:00
Rapptz
eda3c626db Client now keeps a reference to the VoiceClient constructed. 2015-12-09 21:32:33 -05:00
Rapptz
2bf527334f Add discord.version_info 2015-12-09 19:50:17 -05:00
Rapptz
6a4bddd69b Add ability to pause/resume audio stream from StreamPlayer. 2015-12-09 18:33:39 -05:00
Rapptz
3ca5845566 Close ffmpeg process after stream is finished. 2015-12-09 18:01:14 -05:00
Rapptz
da5d7581ee Clear up documentation on passing discord.Object 2015-12-09 17:54:34 -05:00
Rapptz
4e3301a57c Add enums to __init__.py 2015-12-09 07:07:37 -05:00
Rapptz
2747f33ee2 Add Client.wait_for_message 2015-12-09 06:45:30 -05:00
Rapptz
9bec041423 Documentation fixes for opus related import errors. 2015-12-08 19:47:47 -05:00
Rapptz
72f355bb64 Add OpusNotLoaded exception and opus.is_loaded utility function. 2015-12-08 19:37:34 -05:00
Rapptz
9e36047ffb Explicitly close responses that don't get read. 2015-12-08 19:21:06 -05:00
Rapptz
9deb7796a5 Documentation fixes for opus bindings. 2015-12-08 16:22:01 -05:00
Rapptz
6217076cbf Fix exception handling having a NameError 2015-12-08 16:12:26 -05:00
Rapptz
60945868b4 Clear up some documentation. 2015-12-08 06:51:46 -05:00
Rapptz
a6d6d832ff Working voice sending implementation.
Currently you can only send from a stream that implements
``read`` and a ``ffmpeg`` or ``avconv``.
2015-12-08 06:37:38 -05:00
Rapptz
cfc26b894f Fix issue with member.roles being empty. 2015-12-08 00:46:58 -05:00
Rapptz
9102f1ae4f Work on connecting to a voice channel. 2015-12-07 16:22:56 -05:00