2156 Commits

Author SHA1 Message Date
Rapptz
e9fa90d19f Version bump to v1.4.2 2020-09-28 21:02:53 -04:00
Rapptz
217a3acac4 Handle cloudflare bans on webhook requests
Fixes #5221
2020-09-28 06:06:35 -04:00
Rapptz
3b172b9f34 Completely update member references from message inner members.
Fixes #5819
2020-09-28 06:06:35 -04:00
Josh
c31da1b23d [commands] Fix exception raised in Command invoke hooks. 2020-09-28 06:06:35 -04:00
Rapptz
4205b3f88a [commands] Use edited timestamp if provided for cooldown timing 2020-09-28 06:06:34 -04:00
parafoxia
6f211fa5ad Fix issue with empty overwrites
Fixes #5756.
2020-09-28 06:06:34 -04:00
Xua
c10bd0a82b Fix allowed_mentions when sending files 2020-09-24 02:17:56 -04:00
Rapptz
9d10f9e091 Remove caching from AutoShardedClient.shards 2020-09-24 02:17:55 -04:00
Rapptz
e865d36341 [tasks] Lazily fetch event loop if one isn't provided
Fixes #5808
2020-09-24 02:17:55 -04:00
Dan Hess
e9a4429c50 Fix comparison for overwrites when checking if a channel is synced 2020-09-24 02:17:55 -04:00
Dan Hess
b8c4ce6b86 [commands] Correct command removing during cog injecting 2020-09-24 02:17:54 -04:00
alkatar21
85a51c1464 Don't call close() if we've already been closed in Client.run 2020-09-24 02:17:54 -04:00
Josh
b3e0752af4 [tasks] Don't update _next_iteration on retry 2020-09-24 02:17:54 -04:00
Rapptz
40de807c16 Fix bug with Guild.by_category not showing some channels
If categories come after a child channel in the dictionary mapping for
whatever reason, then the previous code would remove it from the
mapping and set it to []. This commit aims to fix this.
2020-09-24 02:17:53 -04:00
Rapptz
00d39704da Version bump to 1.4.1 2020-08-09 01:12:45 -04:00
Bryan Forbes
d7aa18beed
Extend __path__ with pkgutil to allow editable extensions 2020-08-07 01:11:20 -04:00
Dan Hess
e04bd1b3a1
Fix error when trying to clear empty image/thumbnail in embeds 2020-08-07 01:07:54 -04:00
Rapptz
5dd8e372e4 Terminate connection if a close code couldn't be handled 2020-08-06 09:25:01 -04:00
Rapptz
9048914756 Version bump to 1.4 2020-08-05 22:05:21 -04:00
Nadir Chowdhury
360fc123c6
Add remaining user flags 2020-08-05 22:04:09 -04:00
ELginas
891531fac0
Fixed a typo in message unpinning docs 2020-08-05 21:44:11 -04:00
ELginas
298c28a293
Fix a typo with webhook documentation 2020-08-05 21:43:39 -04:00
apple502j
fb5359f028
Add missing comma in template.py 2020-08-05 21:40:16 -04:00
Riley S
ad22fb295e
[commands] implement HelpCommand.add/remove_check 2020-08-05 21:38:58 -04:00
Dan Hess
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
Xua
a1d6ff82dd
Fix NameError and AttributeError in Template and Integrations 2020-08-05 05:48:42 -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 Hess
fc951873a1
[tasks] Remove HTTPException as an exception to silently continue for 2020-08-05 03:09:04 -04:00
Josh
a947c7a6ec
Fix gramatical error in Client guild_subscriptions docs 2020-08-04 21:47:33 -04:00
Tyler North
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 S
b2065c92df
Fix typo when creating a guild via template 2020-07-31 21:09:04 -04:00
Jaime Garcia Jr
ab1c606ff2
Specify where to get max_members in documentation 2020-07-31 21:08:15 -04:00
Nadir Chowdhury
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
jack1142
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