Commit Graph

223 Commits

Author SHA1 Message Date
e7821be4aa Add default value for invitable in HTTPClient 2021-08-26 17:51:49 -04:00
d2ea33e5e9 Add support for invitable thread option 2021-08-26 15:52:07 -04:00
c82739a3be Fix some typings in HTTPClient to not take strict payload types 2021-08-23 23:52:16 -04:00
cff9ca0288 Fix typings for member HTTP methods 2021-08-23 23:44:20 -04:00
400936df69 Fix type for content param in HTTPClient.send_message 2021-08-23 05:24:43 -04:00
4a72201617 Make json conversion functions private 2021-08-22 02:35:58 -04:00
ea2d972666 Make global log variable in modules private 2021-08-22 02:33:51 -04:00
b73f02b9c3 Remove deprecated TextChannel.active_threads for Guild version
This also fills in the ThreadMember data from the endpoint
2021-08-18 01:52:24 -04:00
08a4db3961 Revert "Refactor Client.run to use asyncio.run"
This reverts commit 6e6c8a7b28.
2021-08-11 02:16:22 -04:00
6e6c8a7b28 Refactor Client.run to use asyncio.run
This also adds asynchronous context manager support to allow for
idiomatic asyncio usage for the lower-level counterpart. At first
I wanted to remove Client.run but I figured that a lot of beginners
would have been confused or not enjoyed the verbosity of the newer
approach of using async-with.
2021-08-10 23:00:24 -04:00
1c40d43fd1 Remove unused log lines in HTTPClient 2021-08-10 09:28:54 -04:00
58ca9e9932 Add TextChannel.default_auto_archive_duration 2021-08-02 04:36:02 -04:00
3a451c9c65 Change payload to use sticker_ids instead of sticker_items 2021-07-30 23:19:25 -04:00
6beef898c6 Rename instances of nitro to premium 2021-07-30 23:10:36 -04:00
60d82cf908 implement guild stickers 2021-07-30 21:25:41 -04:00
dac0267e28 Allow creating a public thread without a starter message 2021-07-28 23:50:02 -04:00
96b9a0e09d Add reason kwarg to more methods 2021-07-28 19:54:32 -04:00
23852404ed Fix incorrect typehint in send_message 2021-07-21 02:52:51 -04:00
0aa825557d Re-try requests on 504 error and raise correct error 2021-07-09 04:54:22 -04:00
88d825a803 Allow use of orjson instead of json
The difference in speed seems negligible at start up, which is when
most time is taken for actually parsing JSON. I could potentially be
missing something but profiling didn't point to any discernable
difference.
2021-07-07 20:19:17 -04:00
750ba88f2c Fix typing errors with Client 2021-07-04 07:55:20 -04:00
7d9074db8a Fix type errors and potentially unbound code in http.py 2021-07-04 06:18:34 -04:00
6f3b8072d6 Rework User.edit to have proper typing 2021-06-29 22:05:29 -04:00
47e6a754e4 Add support for sending multiple embeds 2021-06-27 23:52:48 -04:00
35a9533e8d Type-Hint http.py 2021-06-10 07:34:41 -04:00
d0d2d7ea62 Clarify actions that require manage_threads permission 2021-06-08 07:26:22 -04:00
72c66a1706 Bump gateway API to v9 2021-06-08 07:26:22 -04:00
4a4e73ec14 Update thread typings and payloads to match documentation 2021-06-08 07:26:18 -04:00
c1ce3b949f Implement remaining HTTP endpoints on threads
I'm not sure if I missed any -- but this is the entire documented set
so far.
2021-06-08 07:25:30 -04:00
68c7c538f5 First pass at preliminary thread support
This is missing a lot of functionality right now, such as two gateway
events and all the HTTP CRUD endpoints.
2021-06-08 07:23:40 -04:00
94bbdc154c update types subpackage with latest docs 2021-06-07 23:20:47 -04:00
0847085661 Add support for editing guild widgets 2021-06-02 02:39:08 -04:00
9f98a9a87f Implement StageInstance 2021-05-30 13:51:52 -04:00
b48f510e15 Add invite targets for voice channel invites 2021-05-29 00:15:46 -04:00
98570793e4 Add initial support for buttons and components 2021-05-27 00:53:13 -04:00
1bf7aadf94 Typehint emoji classes 2021-05-05 23:48:36 -04:00
c31946f29f Type hint GuildChannel and don't make it a Protocol
This reverts GuildChannel back into a base class mixin.
2021-05-05 11:14:58 -04:00
63974ec46d Add discovery_splash and community field to Guild.edit 2021-05-05 07:30:54 -04:00
e762f55847 Add fetch_invite with with_expiration 2021-05-01 07:46:16 -04:00
4fcbe75d3b Fix guild application command endpoints 2021-05-01 07:44:23 -04:00
b705173676 Add types for ApplicationCommandPermissions & co 2021-05-01 06:46:26 -04:00
304229071f Add VoiceChannel.video_quality_mode 2021-04-17 08:10:41 -04:00
57dbb37a52 Add fetch_message for webhooks 2021-04-16 11:27:15 -04:00
a30ec197c2 Some initial response typings 2021-04-16 08:02:19 -04:00
1f74b051a8 Fix rate limit handling with retry_after precision change 2021-04-15 08:34:58 -04:00
a6f7213c89 Rewrite webhooks to play better with typings and rate limits
This unfortunately required splitting the types into two. This led to
a lot of unfortunate code duplication that I didn't really enjoy
writing.

The new design allows users to pass an authentication token to make
webhook requests without the webhook token and allows to finally
edit the webhook channel.

The new design also uses a contextvar to store rate limiting
information so multiple instances or recreating instances no longer
clears the ratelimiting state since it's now essentially a "global"
object.

Closes #6525, closes #6662, closes #2509, closes #1761
2021-04-15 08:04:32 -04:00
d85805ab6d First pass at supporting v8 API 2021-04-11 00:39:13 -04:00
99fc950510 Use f-strings in more places that were missed. 2021-04-08 06:02:47 -04:00
1d5805ebcb Revert "Remove unused group functionality"
This reverts commit d69b2f0af5.
2021-04-07 00:01:57 -04:00
3c9aed9102 Fix AttributeError on HTTPClient.send_file to be send_files 2021-04-07 00:01:48 -04:00