Commit Graph
3178 Commits
Author SHA1 Message Date
ELginasandGitHub 298c28a293 Fix a typo with webhook documentation 2020-08-05 21:43:39 -04:00
apple502jandGitHub fb5359f028 Add missing comma in template.py 2020-08-05 21:40:16 -04:00
Riley SandGitHub ad22fb295e [commands] implement HelpCommand.add/remove_check 2020-08-05 21:38:58 -04:00
Dan HessandGitHub 3a9fd00a1a [commands] Provide a way to retrieve time left for a cooldown 2020-08-05 21:37:08 -04:00
Rapptz 09f432016c [commands] Restart subcommand_passed chain on invoke
Fix #5198
2020-08-05 08:36:45 -04:00
Rapptz 250f29989b Be defensive in case Discord breaks something with WS URLs again 2020-08-05 08:35:43 -04:00
XuaandGitHub a1d6ff82dd Fix NameError and AttributeError in Template and Integrations 2020-08-05 05:48:42 -04:00
Rapptz 78851bf1d8 Require people to use templates when making an issue 2020-08-05 04:40:31 -04:00
Rapptz 3a1a215f8b Propagate manual close codes to socket subclass
aiohttp seems to not set it during its state machine flow
2020-08-05 04:27:11 -04:00
Rapptz a9824ffabf Fix endpoint strings with :443 instead of :80
Fix #5191
Close #5188
2020-08-05 04:21:27 -04:00
Dan HessandGitHub fc951873a1 [tasks] Remove HTTPException as an exception to silently continue for 2020-08-05 03:09:04 -04:00
JoshandGitHub a947c7a6ec Fix gramatical error in Client guild_subscriptions docs 2020-08-04 21:47:33 -04:00
Tyler NorthandGitHub ae1ec8072f Fix AttributeError when fetching reactions without cache 2020-08-01 22:00:37 -04:00
Rapptz 14fd3dbaa7 Optimize Channel.permissions_for by not creating temporary objects
This seemed to have shaved a few microseconds:
10.8 µs ± 79.6 ns per loop → 8.53 µs ± 48.1 ns per loop
12 µs ± 613 ns per loop → 8.72 µs ± 30.2 ns per loop

With 100K loops each
2020-08-01 19:48:15 -04:00
Rapptz 50f4c31d31 Terminate shard processing queue when a clean close is encountered.
Fix #5180
2020-08-01 19:26:49 -04:00
Riley SandGitHub b2065c92df Fix typo when creating a guild via template 2020-07-31 21:09:04 -04:00
Jaime Garcia JrandGitHub ab1c606ff2 Specify where to get max_members in documentation 2020-07-31 21:08:15 -04:00
Nadir ChowdhuryandGitHub 6d88316767 Fix NameError with resolving codes with Template 2020-07-31 21:07:20 -04:00
Rapptz b77af19939 Fix AttributeError from internal queue being double underscore. 2020-07-25 10:32:32 -04:00
Rapptz 7ed26db3b3 Add an exposed way to extract shard-specific information.
Closes #2654
2020-07-25 09:59:41 -04:00
Rapptz a42bebe581 Propagate exceptions when an unhandled error happens 2020-07-25 09:59:40 -04:00
jack1142andRapptz bd9821320e Use a subclass rather than monkey-patching for the websocket 2020-07-25 09:59:40 -04:00
Rapptz ec3c3eb4c6 Update message references in AutoShardedConnectionState
Fixes #5133
2020-07-25 09:59:40 -04:00
Rapptz d37b91dfc6 Add guild_ready_timeout to control the timeout of GUILD_CREATE stream
This also fixes a timing issue where READY would take far too long to
load for big bot authors.

Closes #4112
2020-07-25 09:59:40 -04:00
Rapptz e0660ef8a6 Add a timeout for receiving websocket messages. 2020-07-25 09:59:40 -04:00
Rapptz 137ff34f3a If we're out of retries just raise the OSError 2020-07-25 09:59:40 -04:00
Rapptz e2f42597a5 Handle Connection Reset by Peer connection errors.
This should work both on Windows and on Linux.

Apparently these types of blips are considered normal for Discord. So
rather than letting the reconnect logic handler expect these to be
catastrophic, it should handle it specially so it doesn't waste an
IDENTIFY for what ultimately should just be a small networking blip.

This also makes it less noisy for the end-user as these complaints
happen from time to time.
2020-07-25 09:59:40 -04:00
Rapptz 8070d39a23 Add shard related connection and resume events.
These include:
* on_shard_resumed
* on_shard_connect
* on_shard_disconnect
2020-07-25 09:59:39 -04:00
Rapptz 80cc5b5edb Handle connection errors during reidentify flow. 2020-07-25 09:59:39 -04:00
Rapptz f658fcf164 Make every shard maintain its own reconnect loop
Previously if a disconnect happened the client would get in a bad state
and certain shards would be double sending due to unhandled exceptions
raising back to Client.connect and causing all shards to be reconnected
again.

This new code overrides Client.connect to have more finer control and
allow each individual shard to maintain its own reconnect loop and then
serially request reconnection to ensure that IDENTIFYs are not
overlapping.
2020-07-25 09:59:39 -04:00
Rapptz 394b514cc9 Add before_identify_hook to have finer control over IDENTIFY syncing 2020-07-25 09:59:39 -04:00
Rapptz 9c7ae6b9dc Fix READY not firing for multi-processed AutoShardedClient clusters 2020-07-25 09:59:38 -04:00
Rapptz 058a1e608b Fix voice websocket connections 2020-07-25 09:59:38 -04:00
Rapptz 988505a97f Use a proper type for the event queue 2020-07-25 09:59:38 -04:00
Rapptz b8154e365f Rewrite gateway to use aiohttp instead of websockets 2020-07-25 09:59:38 -04:00
Rapptz 45cb231161 Fix AttributeError on reconnection 2020-07-25 09:59:38 -04:00
Rapptz 3afbbf5e47 Can't use %d in here 2020-07-25 09:59:37 -04:00
Rapptz ba35c2b9bf Add shard ID to keep alive logger messages 2020-07-25 09:59:37 -04:00
Rapptz 09ecb16680 Rewrite of AutoShardedClient to prevent overlapping identify
This is experimental and I'm unsure if it actually works
2020-07-25 09:59:37 -04:00
Jaime Garcia Jr 1c3b0c02f8 Add revisions to check_once docs 2020-07-24 09:18:42 -05:00
Jaime Garcia Jr 5813593d6e Add documentation on bot_check_once 2020-07-23 12:19:10 -05:00
Rapptz 2628949cda Add a changelog entry for v1.3.4 2020-07-22 23:37:33 -04:00
JoshandGitHub 9cbb801fb0 Fix sidebar jank on desktop. 2020-07-22 23:35:51 -04:00
AXVinandRapptz f5289a30a7 Fix typo in on_socket_raw_send documentation 2020-07-22 23:19:37 -04:00
SebbyLawandRapptz b43658f6ff [commands] Add documentation for exceptions in Context.(re)invoke 2020-07-22 23:18:30 -04:00
SebbyLawandRapptz 9b24ff4f77 Add gray alias for discord.Colour 2020-07-22 23:18:29 -04:00
jack1142andRapptz 901290c8a2 [commands] GroupView.get_command shouldn't raise errors for empty names 2020-07-22 23:16:43 -04:00
SkezzaandRapptz 4a686e11ba Added exception documentation for Guild.create_voice_channel 2020-07-22 23:16:43 -04:00
SkezzaandRapptz 2552a268cb Add double backticks for some parameter mentions in the documentation. 2020-07-22 23:15:16 -04:00
jack1142andRapptz 1ca257bb68 Add Guild.change_voice_state to control our voice state. 2020-07-22 23:13:29 -04:00