Commit Graph

874 Commits

Author SHA1 Message Date
e2de93e2a6 [commands] Make Command a descriptor for #426. 2017-02-11 05:52:27 -05:00
ae30d2a880 Removed unused variables in routes. 2017-02-09 02:45:44 -05:00
e6c5e40ab0 Remove unused constants in HTTPClient 2017-02-08 20:46:38 -05:00
91fcce30e6 Add missing continue statement in gateway futures. 2017-02-08 20:30:34 -05:00
3558a0db27 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:53 -05:00
2a6c240271 [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:08:29 -05:00
f06024f236 Fix potential chunking woe. 2017-01-23 07:08:29 -05:00
d409196d3d Fix Client.create_server.
Client was using .name of enum instead of .value, resulting in
invalid requests being sent to discord.
edit_server region changing was not broken as the region field
was str()'d, which uses .value.

Also document that most bot accounts cannot use create_server.
2017-01-22 13:01:06 -08:00
ea95d723e8 Version bump to v0.16.5 v0.16.5 2017-01-21 16:20:17 -05:00
e9a09539be Allow unique invites to be created in Client.create_invite. 2017-01-21 16:19:53 -05:00
de18a0ee47 Fix issue with chunking on userbots when a guild is unavailable. 2017-01-21 16:14:45 -05:00
5a6a3574b1 Fix bug with Client.move_channel and Client.move_role. v0.16.4 2017-01-16 18:13:49 -05:00
793cbedd0d Fix case where on_reaction_add returned None in PMs with users. 2017-01-13 01:11:32 -05:00
9626210633 Fix 404s with Client.pins_from and Client.create_role. v0.16.3 2017-01-12 17:59:41 -05:00
89eb3392af Fix HTTPClient errors from the backport. v0.16.2 2017-01-09 21:00:24 -05:00
d460a747f6 Version bump to v0.16.1 v0.16.1 2017-01-09 19:51:33 -05:00
6cd134ee47 Allow falsey values in Client.send_message and Client.send_file. 2017-01-09 19:51:32 -05:00
f0fb91c35d Use CDN URL for assets. 2017-01-09 19:36:48 -05:00
fdd835e8f1 Backport rate limit header implementation from rewrite. 2017-01-09 19:33:39 -05:00
643950abf8 Add ability to set opus encoder input signal type. 2017-01-03 09:51:14 -05:00
31cd9ad37a [commands] Bugfix on the teardown function call. 2017-01-01 01:49:10 -05:00
a8264f6540 Chunk every guild if it's a user bot.
This also increases the timeout for chunking by 30 seconds for every
chunk we're waiting for.
2016-12-24 17:32:20 -05:00
4d59bca4aa Support animated avatars in User.avatar_url. 2016-12-23 00:43:19 -05:00
bed2e90e82 Properly propagate loop. Fixes #420. 2016-12-21 00:06:19 -05:00
5731f3405d Version bump to v0.16.0. v0.16.0 2016-12-19 17:53:41 -05:00
00e30f3106 [commands] Shield against dictionary resize in Bot.close 2016-12-17 21:18:48 -05:00
fc1a7183a0 [commands] Unload all cogs when gracefully exiting bot. 2016-12-17 14:47:29 -05:00
b8909ae389 [commands] Properly propagate CommandError derived exceptions.
If a command or a group raised a CommandError derived exception it
would be wrapped into CommandInvokeError. This fixes this case so it
raises the original exception instead.
2016-12-17 14:44:36 -05:00
6d88024f0f [commands] Add special extension function 'teardown' for clean-up.
This is to support people who want to clean up some external resource
that the extension is maintaining outside of a cog, where __unload
should be used instead.

The callable is the antipode of 'setup' and takes the same sole
parameter, the bot, after all commands, events, and cogs have been
unloaded.

Fixes #405.
2016-12-17 14:15:11 -05:00
bafaf72c89 [commands] Unload all extensions when gracefully closing bot. 2016-12-17 14:15:10 -05:00
c7946606f4 Add Channel.overwrites to get a channel's permission overwrites.
Fixes #414.
2016-12-17 14:00:34 -05:00
6302ef8094 Add support for partnered servers. Fixes #387.
This commit allows you to edit a server's invite splash, query if
something has partnered features, and retrieve the invite splash + URL.
2016-12-17 13:34:19 -05:00
a0f4ad36eb Timeout waiting for chunking.
Sometimes the bot would keep waiting for chunks that somehow finished
before getting to the `wait` call. This is more so a temporary fix
rather than a fully correct one.
2016-12-16 21:28:12 -05:00
6306fc08db Discard null sequences in the gateway.
This was forbidding the Discord gateway from allowing us to RESUME
properly, causing an over-abundance of READY being called.
2016-12-16 18:29:29 -05:00
b1117262da [commands] Run global checks in help formatter.
Help formatter was not checking global bot-level checks, resulting in
showing commands a user did not have permission for with
show_check_failure disabled.
2016-12-16 14:39:25 -05:00
51fda76555 Fix typo in wait_for_reaction documentation. 2016-12-07 07:23:12 -05:00
b7c90a5e3d Fix role comparisons.
Fixes #409
2016-12-02 01:28:54 -05:00
14a1bbceda Make FAQ use change_presence instead of change_status. 2016-11-30 17:08:55 -05:00
64733c0b19 Version bump to v0.15.1 v0.15.1 2016-11-30 17:05:29 -05:00
c8fd8a9e1a Fix crash on duplicate or out of order reactions.
Eventual consistency ftw
2016-11-30 16:47:00 -05:00
59d17e4137 Version bump to v0.15.0 v0.15.0 2016-11-22 19:59:28 -05:00
6f2603c049 [commands] Remove slots on Context.
This is to allow people to set temporary local variables by injecting
them directly into the context via some decorator or some other
mechanism. Contexts are not kept alive long enough to warrant being
slotted.
2016-11-22 19:57:19 -05:00
c4ee4c1db4 Make discord.Embed builder more strict and easier to use.
Allow for easier use when trying to "reuse" the same discord.Embed
object by providing new methods such as Embed.clear_fields,
Embed.set_field_at, and allowing you to set things to Embed.Empty to
clear out an attribute.

For ease of use, things are automatically casted to ``str`` to prevent
the user from having HTTP 400 errors if they forgot to do so. The new
embed builder also supports "fluent-style" interface to allow you to
chain methods in a single line if necessary.

Certain parameters were removed since they were ignored by Discord
anyway such as `width` and `height` in Embed.set_image and
Embed.set_thumbnail.
2016-11-22 19:30:21 -05:00
fb1f9ac659 Add PermissionOverwrite.is_empty to query empty state of an overwrite.
Fixes #382
2016-11-21 03:12:44 -05:00
7ff7b0fb9c Add Permissions.update and PermissionOverwrite.update for bulk edits.
This should satisfy those that have a one-line obsession and make things
a little bit easier if you have a dict.
2016-11-21 03:08:03 -05:00
92c3c2804d Support MESSAGE_REACTION_REMOVE_ALL event. 2016-11-21 02:49:50 -05:00
e8905fd41b Add missing bucket for endpoints. 2016-11-17 21:07:54 -05:00
44624b7f44 Documentation fixes. 2016-11-17 20:42:06 -05:00
18178c26aa Add support for clearing a message's reactions. 2016-11-17 20:37:33 -05:00
4c1fd2c9b1 Add atomic add and remove role endpoints to HTTPClient.
These are currently unused since their use is pretty limited.
2016-11-17 20:27:43 -05:00