Commit Graph

655 Commits

Author SHA1 Message Date
070015e408 Disallow duplicates when adding or removing roles. 2015-12-18 20:13:04 -05:00
8a4e2ba958 Fix Client.replace_roles having hashable errors. 2015-12-18 20:08:25 -05:00
2c246a0aa7 Add first support for gateway redirects and reconnects. 2015-12-17 20:30:48 -05:00
9075d46efd Add on_member_ban and on_member_unban events.
Fixes #58.
2015-12-17 18:22:16 -05:00
253e2b1f64 Add way to delete messages after a user is banned.
Fixes #59.
2015-12-17 17:39:30 -05:00
78e95ef755 Documentation fixes. 2015-12-17 04:11:38 -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
f78e3c9f0b Fix Client.logs_from failing if no more messages are found. 2015-12-16 22:44:45 -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
6d26d73e24 Client.run now does cleanup when KeyboardInterrupt is encountered. 2015-12-14 16:26:15 -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
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
7834236044 Close the ClientSession in __del__. 2015-12-10 04:52:20 -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
da5d7581ee Clear up documentation on passing discord.Object 2015-12-09 17:54:34 -05:00
2747f33ee2 Add Client.wait_for_message 2015-12-09 06:45:30 -05:00
72f355bb64 Add OpusNotLoaded exception and opus.is_loaded utility function. 2015-12-08 19:37:34 -05:00
9e36047ffb Explicitly close responses that don't get read. 2015-12-08 19:21:06 -05:00
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
9102f1ae4f Work on connecting to a voice channel. 2015-12-07 16:22:56 -05:00
a0423e6245 Use @me endpoint for Client.start_private_message 2015-12-06 04:25:22 -05:00
a91dad53a8 Forced keyword argument for allow/deny in edit_channel_permissions 2015-12-06 03:10:18 -05:00
80b32e769e Handle GUILD_UPDATE 2015-12-06 03:09:55 -05:00
63f4a769c6 Documentation fixes in Client.connect. 2015-12-05 05:48:09 -05:00
161e2ebfb0 Add role management functions. 2015-12-05 05:44:39 -05:00
88c3dae36c Add Client.delete_invite. 2015-12-05 01:09:45 -05:00
f755c970ab Add Client.start and Client.run shortcuts. 2015-12-05 01:05:17 -05:00
4287f85ba4 Add _is_logged_in to the constructor. 2015-12-05 00:47:52 -05:00
2f86a853d6 Add invite management functions. 2015-12-05 00:46:19 -05:00
b87dfccfce Add server management commands. 2015-12-04 23:35:28 -05:00