Rapptz
e10cae5dbc
[commands] Allow converters to be instantiated.
...
This allows for you to create converters that can have varying
behaviour using the converter's __init__ instead of having to do a
meta-class based approach to get around the fact that __init__ is part
of the interface.
To make up for the lack of __init__, a new method Converter.prepare was
added to do the work that __init__ used to do.
2017-02-13 21:05:25 -05:00
Rapptz
dcf826c09b
Allow utils.maybe_coroutine to take any arguments.
2017-02-13 20:58:14 -05:00
Rapptz
8e654bd52a
Add support for limit=None in Messageable.history.
...
Fixes #480 .
2017-02-13 19:55:04 -05:00
Rapptz
b6bff5172a
[commands] Remove Commands: if no commands can be run in help command.
2017-02-13 04:27:31 -05:00
Rapptz
1ec7daf372
Documentation fixes for permission.
2017-02-13 02:44:29 -05:00
Rapptz
bf11bb4b4f
[commands] Add cog local error handlers via __error.
2017-02-12 15:48:18 -05:00
Rapptz
7bc3750c27
[commands] Add param attribute to MissingRequiredArgument
...
This should allow easier querying on what argument is missing.
Fixes #470 .
2017-02-12 13:53:49 -05:00
Rapptz
47ef657fbd
Implement async checks. Fixes #380 .
2017-02-12 12:13:23 -05:00
Rapptz
2abdbc70c2
Implement utilities for AsyncIterator.
...
Closes #473 .
2017-02-11 23:34:19 -05:00
Rapptz
8727472b85
Add Client.get_user_profile to get an arbitrary user's profile.
2017-02-10 17:07:08 -05:00
Rapptz
0dac5e3139
Add Client.emojis to get all emojis.
...
This removes the older get_all_emojis generator.
2017-02-10 16:43:33 -05:00
Rapptz
ae36008279
Fix NameError in GroupChannel.
2017-02-10 15:42:52 -05:00
Rapptz
bfe2b4fc03
Fix Member.display_name to work.
2017-02-10 03:10:30 -05:00
Rapptz
c16a515e50
Fix NameError in Client.get_invite
2017-02-10 00:22:14 -05:00
Rapptz
ca81f0c3fc
Better group DM support.
2017-02-09 20:50:02 -05:00
Rapptz
926f01f0b6
Call message edit handlers after attempting to patch individual fields
2017-02-09 06:29:57 -05:00
Rapptz
8c581bc5bd
Removed unused variables in routes.
2017-02-09 02:44:45 -05:00
Rapptz
3504de4635
Fix more places where server is used instead of guild in docstrings.
2017-02-08 22:51:40 -05:00
Rapptz
274e6af0dd
Fix support for instant invites.
2017-02-08 22:47:52 -05:00
Rapptz
0311b407c3
Remove unused constants in HTTPClient
2017-02-08 20:44:35 -05:00
Rapptz
ced064d08c
Add missing continue statement in gateway futures.
2017-02-08 20:30:09 -05:00
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
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