Commit Graph
100 Commits
Author SHA1 Message Date
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
Rapptz 06ca518459 Rename NoMoreMessages to NoMoreItems. 2017-01-11 19:53:48 -05:00
Rapptz 8c274139df Allow HistoryIterator to be flattened into a list. 2017-01-11 19:04:52 -05:00
Rapptz 0e0b569d53 Propagate event loop in Messageable.history. 2017-01-11 13:24:28 -05:00
Rapptz 7e2c016eaa Remove extraneous unneeded hash calls. 2017-01-10 04:37:45 -05:00
Rapptz 94448d3972 Fix NameError inside HTTPClient.edit_member. 2017-01-09 21:30:59 -05:00
Rapptz 3c6d677f85 Update README example. 2017-01-09 21:25:03 -05:00
Rapptz b86a568f86 Fix HTTP.application_info 404ing. 2017-01-09 20:58:58 -05:00
Rapptz f877efdd89 Change version info to 1.0.0a0. 2017-01-09 20:52:11 -05:00
Rapptz 6d33ea748a Implement rate limit headers. 2017-01-09 18:51:24 -05:00
Rapptz 6adfd633ea Allow Messageable.send to work with non-truthy types. 2017-01-09 09:50:14 -05:00
Rapptz b09f25293b Use CDN URL for Guild.icon_url. 2017-01-09 03:43:51 -05:00
Rapptz 36a5925908 Return default avatar URL if an avatar is not given for User.avatar_url
Also use the CDN URL like Jake has always requested.
2017-01-09 03:41:01 -05:00
Rapptz 63604e0566 Use CDN URL for default avatars. 2017-01-09 03:35:51 -05:00
Rapptz 5e201be792 Fix typo in Guild.invites 2017-01-09 03:13:57 -05:00
Rapptz 3780943d0a Add Guild.create_text_channel and Guild.create_voice_channel. 2017-01-08 17:09:56 -05:00
Rapptz d13df30e2a Add ability to edit guild invite splashes. 2017-01-08 07:24:56 -05:00
Rapptz d22d8cc430 [commands] Add AutoShardedBot counterpart to AutoShardedClient. 2017-01-08 04:50:59 -05:00
Rapptz aae8b783e9 VoiceChannel.voice_members is now computed when needed. 2017-01-08 04:31:33 -05:00
Rapptz 4bd8382e06 Fix bug that caused Guild instances to be in VoiceChannel.voice_members 2017-01-08 03:46:43 -05:00
Rapptz 93d267cd2b Remove extraneous prints. 2017-01-08 02:08:38 -05:00
Rapptz 92c1637921 Allow overriding the shard_ids used for initial shard launch. 2017-01-08 02:05:21 -05:00
Rapptz 4bc6625739 Add AutoShardedClient.change_presence. 2017-01-08 01:51:10 -05:00
Rapptz b5bed9ef33 Change the way shards are launched in AutoShardedClient. 2017-01-08 01:31:46 -05:00
Rapptz d93067ca0f Add Guild.chunked property. 2017-01-08 01:28:15 -05:00
Rapptz 20041ea756 Implement AutoShardedClient for transparent sharding.
This allows people to run their >2,500 guild bot in a single process
without the headaches of IPC/RPC or much difficulty.
2017-01-07 23:19:39 -05:00
Rapptz d54d7f7ac0 Fix variable shadowing in READY parsing. 2017-01-05 07:03:56 -05:00
Rapptz 808a05ff2d Move global user cache to a WeakValueDictionary. 2017-01-04 05:16:59 -05:00
Rapptz f8a5d890fe Update examples to match the new rewrite API. 2017-01-03 20:58:11 -05:00
Rapptz 94655c77c0 Fix Messageable.typing context manager. 2017-01-03 20:24:42 -05:00
Rapptz d086b5421d Fix NameError when dealing with permission resolution. 2017-01-03 20:17:59 -05:00
Rapptz c863d93f69 Fix bug that made member roles go missing. 2017-01-03 20:17:58 -05:00
Rapptz 3f06cf9e81 [commands] Don't use removed is_private attribute in core decorators. 2017-01-03 20:17:58 -05:00
Rapptz 496f5d0472 [commands] Fix help command from not working with recent changes. 2017-01-03 09:52:12 -05:00
Rapptz 7690455b21 Make User and Member messageable. 2017-01-03 09:52:12 -05:00
Rapptz 7431a127cf Change Messageable channel getter to be a coroutine. 2017-01-03 09:52:11 -05:00
Rapptz 98b981848d Move message creation to a factory method inside ConnectionState. 2017-01-03 09:52:10 -05:00
Rapptz 5e6bfecb07 Move away from StateContext and use ConnectionState directly. 2017-01-03 09:52:10 -05:00
Rapptz d5b616fa11 Rename MessageChannel abc to Messageable. 2017-01-03 09:52:09 -05:00
Rapptz 633eacc982 Add permission overwrites to GuildChannel. 2017-01-03 09:52:08 -05:00
Rapptz 6709979831 Move GuildChannel over to abc module. 2017-01-03 09:52:08 -05:00
Rapptz a557858742 Remove chunks of the voice code to redesign later. 2017-01-03 09:52:07 -05:00
Rapptz 7eb73cdc71 Add Role.members to get every member with a role. 2017-01-03 09:52:06 -05:00
Rapptz dceba9d962 Add useful repr to all data classes. 2017-01-03 09:52:06 -05:00
Rapptz ec6c7f8b34 Fix handling of author update and missing type attribute in Message. 2017-01-03 09:52:05 -05:00
Rapptz 4e175d36d3 Add delete_after parameter to MessageChannel.send 2017-01-03 09:52:04 -05:00
Rapptz 20ddc9f14f [commands] Remove send_ utility functions. 2017-01-03 09:52:04 -05:00
Rapptz 406984af2e [commands] First pass in making commands ext work again. 2017-01-03 09:52:03 -05:00
Rapptz 9c000c5a72 Fix documentation to work. 2017-01-03 09:52:02 -05:00
Rapptz 79a49f9145 Absolute import some circular dependencies to appease Python 3.4. 2017-01-03 09:52:02 -05:00
Rapptz a1c81419b7 Rename MessageChannel.send_message to send and unify interface.
This removes MessageChannel.upload.
2017-01-03 09:52:01 -05:00
Rapptz 30394d03f2 Remove no longer used functions in Client. 2017-01-03 09:52:00 -05:00