Commit Graph

632 Commits

Author SHA1 Message Date
ab9840fcb3 Fix issue with add_roles and friends not working.
Previously it stated that Role object is not serializable due to
passing in Role objects rather than their IDs.
2015-12-30 21:36:56 -05:00
3da6cf5926 Add logs to help debug some voice data. 2015-12-30 20:56:48 -05:00
c69a991e46 Maintain order in role related functions. 2015-12-30 16:11:15 -05:00
f1480580c1 Changed cache check to be the login endpoint itself. 2015-12-29 18:11:52 -05:00
b4dc9f4b62 Fix indentation error 2015-12-29 13:58:02 -05:00
dd0bb3baa1 Add ability to move members to a different voice channel. 2015-12-29 13:29:39 -05:00
ae0cce26ee Remove Client.voice_channel 2015-12-29 12:39:58 -05:00
61464194be Client.join_voice_channel now accepts an Object.
Fixes #62.
2015-12-29 12:17:10 -05:00
436d10ef39 Simplify parser event check with hasattr rather than tuples. 2015-12-29 12:06:00 -05:00
e9b771adc7 Add missing ` in documentation for create_server 2015-12-29 12:02:25 -05:00
c11bd9b8f4 ConnectionState is now constructed in Client.__init__.
This should reduce the amount of checks for None if someone doesn't
want a websocket connection. The connection state is instead cleared
rather than reconstructed.
2015-12-29 11:59:18 -05:00
7696a566e1 Raise ClientException if an unexpected websocket close happens 2015-12-29 01:21:10 -05:00
2cd1ec3066 Client.create_invite now works without a websocket connection 2015-12-29 01:18:28 -05:00
43ee53fa99 Client.get_invite now works without a websocket connection 2015-12-29 00:01:59 -05:00
5d2f107070 Client.email is now set when using the cache 2015-12-28 23:56:16 -05:00
ac3e583b05 Add missing argument in _rate_limit_helper 2015-12-26 17:01:35 -05:00
740b9a95c2 Added missing Member import to client.py 2015-12-24 08:40:00 -05:00
0aa46e6def Add game data class, replace game_id. 2015-12-23 21:28:18 -05:00
ec23434162 Mentions are now <@id> *only* - remove mentions array on send and edit message 2015-12-23 20:59:41 -05:00
bb433990e8 None author param in wait_for_message allows any author 2015-12-22 03:51:45 -05:00
1ac2f6437f Fix NameError with Permissions missing. 2015-12-19 20:53:31 -05:00
f0d5d7a490 Rename some listeners to wait_until_.
Mainly login and ready listeners.
2015-12-19 20:31:52 -05:00
4fa5b50d2b Add listener for on_ready event for easier background tasks. 2015-12-19 03:56:07 -05:00
a1693a8c9d Make is_logged_in and is_closed into Events internally. 2015-12-19 03:32:35 -05:00
cf56ddfe4c Release connection when error occurs during login. 2015-12-18 21:18:22 -05:00
037d3ab08a Move email out of ConnectionState. 2015-12-18 21:16:55 -05:00
f5b927f01c Fix GUILD_MEMBER_UPDATE and GUILD_UPDATE not triggering. 2015-12-18 20:59:56 -05:00
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