Rapptz
d87d4e716f
Retry on more exceptions in auto reconnect code.
2017-03-07 01:12:28 -05:00
Rapptz
ead18e3948
Fix issue with members not copying correctly.
2017-03-05 07:48:15 -05:00
Rapptz
96a43fa9e3
Fix NameError in Role.edit
2017-03-05 06:48:18 -05:00
Rapptz
76e76f2905
Add underscore to HTTPClient.session to imply privateness.
2017-03-04 23:27:57 -05:00
Rapptz
c4c17351c6
Add commit number to pip version for easy identification.
2017-03-04 20:43:05 -05:00
Rapptz
aa41101237
Remove Client.accept_invite
2017-03-04 20:42:21 -05:00
Rapptz
98cfb53d3b
[commands] Add Context.me property.
2017-03-01 18:58:56 -05:00
Rapptz
5ce88c8a3f
Reconnect even if we close with 1000 since Discord can send it.
...
Rely on is_closed() instead since this is the true metric of a clean
closure.
2017-03-01 05:10:01 -05:00
Rapptz
e78a5c0643
Remove remaining voice_member tracking.
2017-02-28 18:29:27 -05:00
Rapptz
39d65305a3
Add TextChannel.members to get members that can see a channel.
2017-02-28 17:42:07 -05:00
Rapptz
cf40e94af6
Rename VoiceChannel.voice_members to VoiceChannel.members
2017-02-28 17:40:17 -05:00
Rapptz
aa59762c04
Remove extra space.
2017-02-28 17:39:59 -05:00
Rapptz
8daf411c72
Add Messageable.ack
2017-02-28 00:47:37 -05:00
Rapptz
f7524c9919
Add User.is_blocked and User.is_friend shortcut methods.
2017-02-27 23:29:52 -05:00
Rapptz
9a1215e13b
Add support for message acking.
2017-02-27 23:29:52 -05:00
Rapptz
751933f068
Remove nonce when sending messages.
2017-02-27 18:02:07 -05:00
Rapptz
cbbc75cd8d
Move purge and delete_messages from Messageable.
...
This is a breaking change. Move these two to TextChannel since the
other things that implement Messageable cannot reliably do bulk delete
actions in their respective channels.
2017-02-26 21:16:20 -05:00
Rapptz
f6fcb62c7b
Check for PrivateChannel before GuildChannel in Client.get_channel
2017-02-25 20:56:09 -05:00
Rapptz
29f676c42e
Wrap asyncio.wait into a saner alternative that raises TimeoutError.
...
Fixes #494
2017-02-25 00:03:43 -05:00
Rapptz
b2ffeac297
Make Guild.large a property instead of an attribute.
2017-02-24 17:51:27 -05:00
Rapptz
1b3234ab64
Add info logging for close codes we cannot handle.
2017-02-24 17:23:46 -05:00
Rapptz
9d4f3ebb43
Miscellaneous documentation fixes in Client.wait_for
2017-02-23 22:19:07 -05:00
Rapptz
e16a1e583e
Remove Client.email attribute.
...
Use ClientUser.email instead.
2017-02-23 22:13:45 -05:00
Rapptz
0e8b260d45
Fall back to single message delete in Messageable.purge
...
Also make it work on user accounts.
Fixes #456 .
2017-02-23 00:23:40 -05:00
Rapptz
2fe5da836c
Add User.avatar_url_as to convert a user's avatar.
2017-02-22 23:17:52 -05:00
Rapptz
9cb89f019e
[commands] Register cog listeners with the name of the attribute.
2017-02-22 20:11:01 -05:00
Rapptz
67912193ec
Forward keyword arguments in Member.ban
2017-02-21 08:38:33 -05:00
Rapptz
b8727fd463
Fix Client.emojis returning a list of IDs.
2017-02-21 08:38:06 -05:00
Rapptz
702d596af9
Check that the type in Colour and Permissions are int.
2017-02-21 08:19:32 -05:00
Rapptz
b7488d7c6e
Reconnect when a task times out and propagates.
2017-02-19 17:44:27 -05:00
Rapptz
c6d26216a6
[commands] Fix bad logic in command list filtering.
2017-02-18 02:39:03 -05:00
Rapptz
54f297c24f
Fix NameError in GuildChannel.overwrites_for
2017-02-17 22:10:12 -05:00
Rapptz
6516932e67
Fix Guild.bans to return a BanEntry object.
2017-02-16 16:13:20 -05:00
Rapptz
58fa5fdc9a
Add experimental reconnection logic.
2017-02-15 19:10:32 -05:00
Rapptz
a6b180b5ad
Don't RESUME when given sharding related close codes.
2017-02-15 17:58:57 -05:00
Rapptz
bb8f5f4725
Make discord.ext a namespace package.
2017-02-14 21:35:52 -05:00
Rapptz
132ac45010
Ensure after is called inside the daemon thread for players.
2017-02-14 02:10:07 -05:00
Rapptz
6166cbc2e7
[commands] Add commands.clean_content converter.
2017-02-13 22:15:39 -05:00
Rapptz
c8250d7cd5
Fix bug with Message.role_mentions always being empty.
2017-02-13 22:14:49 -05:00
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