Commit Graph
2712 Commits
Author SHA1 Message Date
Rapptz dbd3147059 Support more close codes for RESUME. 2016-06-12 20:48:23 -04:00
Rapptz 6b5d579d0b Remove unused verify response function. 2016-06-12 20:44:40 -04:00
Rapptz e8c32c542e Make HTTPException get the error JSON's message attribute. 2016-06-12 20:36:07 -04:00
Rapptz 1fba1b06fa Rewrite HTTP handling significantly.
This should have a more uniform approach to rate limit handling. Instead
of queueing every request, wait until we receive a 429 and then block
the requesting bucket until we're done being rate limited. This should
reduce the number of 429s done by the API significantly (about 66% avg).

This also consistently checks for 502 retries across all requests.
2016-06-12 20:33:09 -04:00
Rapptz fa36a449e9 Change HTTPException to only take a single parameter. 2016-06-12 13:57:05 -04:00
Rapptz 5f9ed8c9d2 [commands] Make the CommandError required argument optional again. 2016-06-10 23:50:17 -04:00
Rapptz a175c86aa1 Add Client.application_info to retrieve the current app info.
Fixes #241.
2016-06-10 22:28:15 -04:00
Rapptz fe5c369fe9 Handle voice websocket closure if it's a successful close. 2016-06-10 21:45:42 -04:00
Rapptz bde266bbb9 [commands] Fix @everyone elevation in the default help command. 2016-06-10 21:31:11 -04:00
Rapptz 1228159f30 [commands] Fix bug with Context.command not updating in groups.
This happened when `invoke_without_command` was set to True.
2016-06-10 21:05:42 -04:00
Rapptz 74cfc53bc8 [commands] Make it so CommandError does not contain @everyone mentions.
Mitigates some permission elevation issues.
2016-06-10 20:40:35 -04:00
Rapptz 43bbecd519 [commands] Exceptions raised while invocation raise CommandInvokeError.
This change should make it a bit more intuitive to get the original
exception without having the gotcha of checking ``isinstance`` inside
the error handler.
2016-06-10 20:32:05 -04:00
Rapptz d914c0a4e4 Clarify on_ready triggering more than twice.
On that note, fix the background_task example to use `Client.run`
instead of manual loop management. That way the task will be cleaned
up and cancelled inside `Client.run`.
2016-06-10 20:16:21 -04:00
Rapptz a0f37f8e85 [commands] Fix issue with proper local error handlers not beign called. 2016-06-10 01:07:03 -04:00
Rapptz 631cc5a7d6 Add Client.move_channel to change channel positions. 2016-06-07 21:29:59 -04:00
Rapptz a0966f59d2 Fix some typos in the FAQ page. 2016-06-07 20:39:15 -04:00
Rapptz 19c2bad5be Add FAQ section to the documentation. 2016-06-07 05:18:57 -04:00
Jake 41a2b5ed73 Actually read from the voice websocket & fix heartbeat.
This change makes it so that the buffer doesn't fill and the voice server drops the socket.

Also, use correct interval for voice websocket heartbeat.
2016-06-05 21:18:36 -07:00
Rapptz b9c7b05176 [commands] Unify Command.handle_local_error into general dispatcher. 2016-06-05 00:35:27 -04:00
Rapptz 661645ac97 [commands] Add Command.qualified_name to get the full command name.
This also sets `__str__` to do the same thing.
2016-06-04 22:31:00 -04:00
Rapptz 37dfe38af5 [commands] Fix bug where Context.command would not update. 2016-06-04 22:29:50 -04:00
Rapptz 9d9a20c128 [commands] Fix bug where subgroups would be repeatedly called.
This happened due to not resetting the `invoked_subcommand` state
tracking. Since the `invoked_subcommand` was not reset, it would always
assume that it was valid and repeatedly call it when passed invalid
subcommands/arguments.
2016-06-04 22:04:05 -04:00
Rapptz 24a9da04db [commands] Cleanup Command.invoke code due to exception propagation. 2016-06-04 21:41:01 -04:00
Khazhismel KumykovandRapptz 33a69681fc [commands] Dispatch command_error on command exec error.
Provide fallback on_command_error - will only fire if no cog handlers and
no local handler.
Propagate exceptions in checks and argument parsing to bot.
2016-06-04 21:22:10 -04:00
Rapptz 329f916e10 Add bot keyword argument to login via static token. 2016-06-03 02:12:39 -04:00
Rapptz f6fa1e837a Actually use v4 gateway and fixes thanks to Jake. 2016-06-02 07:32:35 -04:00
Rapptz c97e5a17e6 Update positions when a role is added or removed. 2016-06-01 21:06:04 -04:00
Rapptz b6492a4124 Clarify Role.position documentation. 2016-06-01 20:47:33 -04:00
Rapptz 9a6234961f Make Channel.changed_roles into an on-the-fly property instead. 2016-06-01 20:33:38 -04:00
Rapptz 5016f12079 Add Role.server attribute.
This breaks events that expected a server parameter for the role events.
2016-06-01 19:27:48 -04:00
Rapptz 8638ff4414 Update voice client main ws references when reconnecting. 2016-06-01 05:20:22 -04:00
Rapptz e0a91df32b Add RESUME support. 2016-06-01 05:13:15 -04:00
Rapptz 20e86973ea [commands] Delete frame objects when done using them. 2016-05-31 23:22:53 -04:00
Rapptz bbc78b29ae Fix discord.Object documentation. 2016-05-31 20:39:12 -04:00
Rapptz 3c8fcd3584 [commands] Add support for self-bots. 2016-05-31 20:30:17 -04:00
Harmon758andRapptz c8698787fa Allow datetime in limit parameters for purge_from
Check for datetime instead of using logs_from, for 3.4 compatibility
2016-05-31 19:35:14 -04:00
Rapptz 13a9a7520c Fix ytdl documentation link. 2016-05-27 15:00:50 -04:00
Rapptz 70cc5eb1bb Allow to edit mentionable property in Client.edit_role. 2016-05-27 14:03:50 -04:00
Rapptz f3f3ab1cd4 Reference the Discord UI in the permission documentation. 2016-05-23 15:06:09 -04:00
Rapptz aa45bce212 Documentation fixes for role related functions. 2016-05-23 15:03:22 -04:00
Rapptz 8f4816ddae Close voice connections before closing the websocket. 2016-05-22 00:58:27 -04:00
Harmonandkhazhyk c2e7a68105 Fix purge_from to use LogsFromIterator.create (#219) 2016-05-20 21:15:43 -04:00
Rapptz bf650297a1 Only trigger on_voice_state_update if the member actually exists. 2016-05-20 19:22:22 -04:00
Rapptz a31188c966 Fix bug where members leaving will stay in Channel.voice_members. 2016-05-20 19:21:06 -04:00
Rapptz e3c4daf717 Add __slots__ for discord.Channel.
Not sure why this was missing.
2016-05-20 18:11:58 -04:00
Rapptz fe1b5b2941 Add support for voice channel user limits. 2016-05-20 18:11:58 -04:00
Khazhismel KumykovandRapptz 492c9afffb logs_from improvements for after param.
- Properly support 'after' alone
- Properly support both 'before' and 'after'
- Add optional 'reverse' parameter to sort messages oldest->newest to
  1) provide a sorted result set for 'after'
  2) give flexibility when using both 'before' and 'after'
2016-05-20 18:11:57 -04:00
Khazhismel KumykovandRapptz 8e5347f4ed Allow datetime in limit parameters for logs_from.
Add time_snowflake to convert a datetime to a "snowflake".
2016-05-20 18:11:56 -04:00
Khazhismel KumykovandRapptz 7bdddc37a0 Retry send_file on 502.
Rename _rate_limit_helper to _retry_helper
2016-05-20 18:11:56 -04:00
Khazhismel KumykovandRapptz a1b5cefc8b Add move_role
move_role will only send changed roles.
discord will accept trying to move to position 0, or trying to move the
everyone role. It will result in unexpected changes, so we prohibit it.
2016-05-20 18:11:55 -04:00