1128 Commits

Author SHA1 Message Date
Rapptz
ecab8399ff Handle HEARTBEAT_ACK 2017-02-08 07:23:09 -05:00
Rapptz
dc486980f8 Rewrite RESUME logic to be more in line with what is requested.
Apparently we should always try to RESUME first and if we get
INVALIDATE_SESSION then we should IDENTIFY instead. This is the
preferred way to do RESUMEs.
2017-02-08 04:37:16 -05:00
Rapptz
f5b455c119 Only defer the lock if we're pre-emptively rate limiting.
If a 429 was already hit somehow then we're no longer pre-emptively
rate limiting and we're going to end up having a race condition in
the lock/unlock cycle.
2017-02-08 03:47:35 -05:00
Rapptz
f8d19ae7ba [commands] Better support for retrieving children commands.
* GroupMixin.get_command now supports fully qualified names
* Add GroupMixin.walk_commands to get an iterator of all commands.
2017-02-06 21:04:33 -05:00
Rapptz
aac769eb56 [commands] Fix converters returning the wrong types when an ID is passed 2017-01-31 04:57:13 -05:00
Rapptz
a632bdd871 Fix Member.permissions_in passing in the wrong self parameter. 2017-01-31 04:53:54 -05:00
Rapptz
5422655a86 Fix parsing of Invite.user 2017-01-30 19:04:25 -05:00
Rapptz
3a24cda927 Faster implementation of Guild.default_channel. 2017-01-29 21:04:42 -05:00
Rapptz
81baafa1e2 Change Role.is_everyone to Role.is_default. 2017-01-29 20:59:36 -05:00
Rapptz
e77012f4d9 Make all public is_ functions into methods instead of properties. 2017-01-29 20:53:17 -05:00
Rapptz
01c17704bc Remove unused Message._handle_upgrades function. 2017-01-29 20:41:53 -05:00
Rapptz
8c896e9fbc Re-add Client.wait_until_ready 2017-01-29 20:33:48 -05:00
Rapptz
b27fab09eb Allow removing an embed in Message.edit 2017-01-29 20:32:24 -05:00
Rapptz
554ae196d3 Add missing int casts in many different events in the state.
Also remove redundant role parsing in Member._update_roles.
2017-01-28 08:14:43 -05:00
Rapptz
1c49374210 [commands] Implement before and after invoke command hooks.
Fixes #464.
2017-01-27 18:53:21 -05:00
Rapptz
8fa50a8f3e [commands] Add Context.command_failed attribute. 2017-01-27 17:14:22 -05:00
Rapptz
1cf7b0e2c8 Add ClientUser.friends and ClientUser.blocked 2017-01-27 00:25:04 -05:00
Rapptz
12c1cd9b14 [commands] Add cog local checks via __local_check 2017-01-26 05:49:24 -05:00
Rapptz
0e1bd1647e [commands] Rename __check to __global_check for cogs. 2017-01-26 05:31:11 -05:00
Rapptz
4016154529 [commands] Allow customising the Context class in get_context. 2017-01-26 05:05:15 -05:00
Rapptz
1e09432c45 Update examples to use the new generic wait_for. 2017-01-26 04:30:47 -05:00
Rapptz
e5cb7d295c Replace wait_for_* with a generic Client.wait_for 2017-01-25 22:26:49 -05:00
Rapptz
b876133e87 Add compatibility shim for asyncio.Future creation.
Should provide better support for uvloop.
2017-01-25 21:38:50 -05:00
Rapptz
62f43889c0 Remove unused ChannelPermissions namedtuple. 2017-01-25 05:58:15 -05:00
Rapptz
c80cbf1931 Remove Client.__getattr__ and Client.__setattr__ shims.
We should use properties instead.
2017-01-25 05:50:35 -05:00
Rapptz
234fd5180f Optimise attribute access when dispatching. 2017-01-25 05:31:53 -05:00
Rapptz
02f30f21c4 Implement User.profile coroutine to get a user's profile. 2017-01-24 22:00:27 -05:00
Rapptz
e1aaf74fa7 Add option to disable auto member chunking. 2017-01-23 07:07:42 -05:00
Rapptz
d206ee792b Fix issue with user bots chunking unavailable guilds. 2017-01-21 16:25:51 -05:00
Rapptz
1ffb2ca7ac Allow unique invites for Client.create_invite. 2017-01-21 16:23:14 -05:00
Rapptz
ff9f5749e1 Update copyright year to 2017. 2017-01-20 23:19:19 -05:00
Rapptz
4c981ee631 Add support for relationships. 2017-01-20 19:28:43 -05:00
Rapptz
e2acf7b2b9 Add ClientUser.premium boolean. 2017-01-20 15:01:10 -05:00
Rapptz
fa384f2114 Make ClientUser separate from a regular User.
This removes Client.edit_profile in favour of ClientUser.edit.
2017-01-19 19:37:11 -05:00
Rapptz
4b6b5bd35e Remove email/password based login. 2017-01-19 18:32:17 -05:00
Rapptz
f465f88d81 Reimplement Guild.me property without patching it in. 2017-01-18 19:54:47 -05:00
Rapptz
f4cadaf0cc Fix bug with GuildChannel.edit and Role.edit with positions.
I did not update the HTTP code for these two methods.
2017-01-16 18:19:18 -05:00
Rapptz
898a05d5ea Fix AutoShardedClient docstring. 2017-01-16 16:37:53 -05:00
Rapptz
ea72d5e63d [commands] Guarantee that local error handler is called before generic. 2017-01-15 21:55:50 -05:00
Rapptz
11b54d67c9 [commands] Change UserConverter to actually work with User, not Member. 2017-01-14 22:15:02 -05:00
Rapptz
92dd519b1a Remove _get_guild_id from Messageable ABC. 2017-01-14 19:22:26 -05:00
Rapptz
ce9d5b4f4a [commands] Split process_commands into lower level bits. 2017-01-14 19:17:08 -05:00
Rapptz
87dc2f4dd3 Show inherited members in the docs for User and Member. 2017-01-13 20:46:23 -05:00
Rapptz
33450cd1b6 Fix documentation to properly use Messageable.send 2017-01-13 20:35:44 -05:00
Rapptz
695b62ccd3 [commands] Make Command a descriptor for #426. 2017-01-13 20:34:00 -05:00
Rapptz
ced617e786 Use the improved role creation endpoint for making roles. 2017-01-13 01:30:09 -05:00
Rapptz
6d3a5eaeb6 Remove extraneous kwargs from Permissions constructor. 2017-01-13 01:27:16 -05:00
Rapptz
c8247371f1 Fix 404s in pins_from and create_role routes. 2017-01-12 18:05:46 -05:00
Rapptz
ae6fb54b1b Make Reaction.users return an async iterator. 2017-01-11 21:20:28 -05:00
Rapptz
b9b9d8c4d0 Fix NameError inside Messageable.get_message 2017-01-11 20:26:06 -05:00