Rapptz
cf2707b2fb
Propagate thread_id in webhook message methods
...
This also adds the remaining thread parameters where they were missing
2022-03-20 19:43:51 -04:00
Rapptz
2876622f84
Fix typo in app command check documentation
2022-03-19 15:48:00 -04:00
Rapptz
195c923bec
Fallback to Object if the type is not resolved in namespace
2022-03-19 01:38:16 -04:00
Rapptz
bea6b815e2
Add support for app command checks
...
This does not include any built-in checks due to design considerations.
2022-03-19 01:24:53 -04:00
Rapptz
5f7c5abe0a
Change ban type hints to use int instead of Literal
2022-03-18 21:45:15 -04:00
Rapptz
77ec49782a
Add http_trace option in Client to trace the library's HTTP requests
2022-03-18 08:02:53 -04:00
Rapptz
4a76464ac9
Fix return value of Guild.chunk
2022-03-18 07:37:28 -04:00
Rapptz
02b79eb219
[commands] Change BotT to be covariant
2022-03-18 01:13:50 -04:00
Rapptz
98a31cf285
Change autocomplete callbacks to only take two parameters
...
The old namespace parameter can be retrieved using the
Interaction.namespace property instead, which leads to somewhat cleaner
code.
2022-03-17 10:13:09 -04:00
Rapptz
d2f6b05c43
Fix missing List -> Sequence typehint in interaction message edit
2022-03-17 10:00:03 -04:00
Rapptz
f5341a1cfa
Document cases where setup_hook can deadlock rather than raising
2022-03-17 09:56:25 -04:00
Rapptz
202b993da3
Add Interaction.command and Interaction.namespace attributes
2022-03-17 09:45:21 -04:00
Rapptz
3c6daff473
Change default ellipsis descriptions to use U+2026
2022-03-17 07:37:33 -04:00
Rapptz
c77bbc4dcf
Move with_counts parameter documentation where it belongs
2022-03-16 07:43:31 -04:00
Rapptz
5b8bcaff73
Validate and bind parent in Group.add_command
2022-03-16 07:32:01 -04:00
Rapptz
7c0a9e901d
Fully initialise asyncio state in __aenter__
2022-03-16 05:51:25 -04:00
Rapptz
575eacb1bf
Change loop sentinel error to not use a tuple
...
This was an unintentional error
2022-03-16 05:50:28 -04:00
Rapptz
1fba54ce97
Reword DeletedMessageReference docstring to be clearer
2022-03-16 05:12:26 -04:00
Rapptz
1192d842e1
Fix some type checker errors and remove some type ignores
...
Caught from an upgraded Pyright
2022-03-16 01:46:58 -04:00
Rapptz
6d75d2e937
Fix unnecessary type ignores in gateway
2022-03-16 01:19:45 -04:00
Rapptz
d2b69ce19a
Downgrade unnecessary type ignore into a warning instead of error
2022-03-16 01:01:18 -04:00
Rapptz
380e9118d5
Temporarily change Crowdin upload to be a manual workflow dispatch
2022-03-16 00:42:06 -04:00
Rapptz
61577677cd
Fix Guild.fetch_members limit parameter typing to be Optional
2022-03-16 00:39:05 -04:00
Rapptz
caf1c6eae4
Fix overload in StoreChannel
2022-03-16 00:13:39 -04:00
Rapptz
446c502995
Change lowercase detection to work with CJK languages
...
str.islower() does not properly work with characters in the Lo category
so CJK languages fail the check.
Fix #7698
2022-03-15 23:37:54 -04:00
Rapptz
26457b6d50
Remove automatic defer behaviour from View and Modal
...
This doesn't make as much sense anymore now that
InteractionResponse.edit_message exists.
2022-03-15 10:30:19 -04:00
Rapptz
8ced1143e3
Change missing application ID error to be more descriptive
2022-03-15 07:22:44 -04:00
Rapptz
27dd986858
Forbid Choice annotations being used with autocomplete parameters
...
Since the Choice are synthetic, the library doesn't have a
pre-populated list of choices to know what to use as the resulting
value.
2022-03-15 07:09:41 -04:00
Rapptz
698d1e12a1
Add CommandTree.error decorator to set on_error dynamically
2022-03-15 06:57:25 -04:00
Rapptz
2bf612cd67
Fix Client.close erroring if done before proper async initialisation
2022-03-15 06:51:19 -04:00
Rapptz
20aa6f866d
Fix CommandTree removal and getter overloads
2022-03-15 03:34:04 -04:00
Rapptz
f015b59e43
Add CommandTree.walk_commands and Group.walk_commands
2022-03-15 03:24:20 -04:00
Rapptz
5bc085ebab
Properly set root parent before copying a command's binding
2022-03-15 03:24:20 -04:00
Rapptz
aa006f345a
Add more special methods to Namespace for ease of use.
...
* __getattr__ would allow it to no longer AttributeError while
simultaneously letting linters and type checkers understand that
this is a bag of dynamic attributes.
* __contains__ allows checking for the existence of an attribute
* __getitem__ allows accessing a value even if its name is not a valid
Python identifier.
2022-03-14 22:49:47 -04:00
Rapptz
f0a47f5a40
Allow single element Literal in app commands
...
Fix #7690
2022-03-14 21:17:00 -04:00
Rapptz
934ab4151a
Mark state refresh methods as private with an underscore
...
People kept wondering what it is or what it does.
2022-03-14 07:50:25 -04:00
Rapptz
bc70ec5cfd
Change persistent view example to use new setup_hook
2022-03-14 06:12:58 -04:00
Rapptz
c95c163266
Fix background task examples
2022-03-14 06:08:54 -04:00
Rapptz
9b77331603
Change loop sentinel to provide a more descriptive error message
...
This way people don't think it's a bug. I imagine some people won't
read it, but at least when you point it out they might get it.
2022-03-14 05:52:35 -04:00
Rapptz
aa18e573c3
Mark MISSING as hashable to allow it to be used in dataclasses in 3.11
2022-03-14 05:45:58 -04:00
Rapptz
abcec5da9d
[tasks] Use the local timezone when comparing for the start time
...
Fix #7676
2022-03-14 04:54:56 -04:00
Rapptz
a4676804ec
Show inherited members in InteractionMessage
2022-03-14 02:21:05 -04:00
Rapptz
2da6415008
Add more tests for JST regression case
2022-03-14 01:07:49 -04:00
Rapptz
c6ab67420e
Remove Embed.Empty in favour of None
2022-03-14 00:52:55 -04:00
Rapptz
603681940f
[tasks] Only correct for clock drift if an explicit time is given
2022-03-13 22:51:10 -04:00
Rapptz
f2586e9fe7
[tasks] Handle imaginary or ambiguous times due to DST transitions
2022-03-13 22:45:18 -04:00
Rapptz
f63070c071
Move migrating to v1 into a new separate file
2022-03-13 21:55:07 -04:00
Rapptz
a339e01047
[tasks] Compare using full datetime rather than sole time
...
Comparisons using just the time object without an attached date
are pretty buggy and incomplete -- comparisons only make sense when
given a particular instant of time.
Ref: #7676
2022-03-13 20:45:05 -04:00
Rapptz
58ad146a4e
Remove window re-assignment in gateway rate limiter
...
This was a hold over from the old cooldown implementation.
2022-03-13 12:09:07 -04:00
Rapptz
c0890bfbc1
Remove unused View._expires_at private function
2022-03-13 11:50:09 -04:00
Rapptz
64c6639f4b
[tasks] Handle loop functions running multiple times due to clock drift
2022-03-13 11:36:00 -04:00
Rapptz
9c61e10a55
Move all async object creation to a proper initialisation point
...
This should make it so no object is created with another loop
2022-03-13 08:33:25 -04:00
Rapptz
8d4f08a5e7
Fix AutoShardedClient to work with the new asyncio loop machinery
...
Fix #7675
2022-03-13 08:05:44 -04:00
Rapptz
6a43d60acf
[tasks] Refactor tasks to not store a time index state
...
It's better to recompute it every time rather than suffer from
maintaining the extra state.
2022-03-13 06:20:44 -04:00
Rapptz
c02a3c0bb2
Add asynchronous context manager support for Client
2022-03-13 05:04:55 -04:00
Rapptz
5e9097179b
Add CommandTree.copy_global_to method for quick development
2022-03-12 21:32:35 -05:00
Rapptz
3718192b9c
Raise a TypeError if a non-View is passed to Webhook.send
2022-03-12 21:01:07 -05:00
Rapptz
42beec9fa9
Fix bug when app commands would not have a module attribute set on copy
2022-03-12 20:55:08 -05:00
Rapptz
d63fd578c2
Change TextChannel annotation channel_types to include news channels
2022-03-12 20:51:32 -05:00
Rapptz
6def5c9131
Allow specifying float default values for app commands
2022-03-12 09:41:28 -05:00
Rapptz
1d1bba1f90
Support app_commands.guilds decorator for context menu commands
2022-03-12 09:28:46 -05:00
Rapptz
0ef369c0fa
[commands] Automatically unload top level app commands in extensions
2022-03-12 09:24:26 -05:00
Rapptz
a672455ca9
Fix some context menu commands not being registered in guild contexts
...
This happened when there weren't any application commands due to a typo
stemming from a copy paste error.
Fixes #7650
2022-03-12 08:39:57 -05:00
Rapptz
d68f2db7cb
[commands] Always respect guild IDs passed to cog adding and removal
...
Fixes #7657
2022-03-12 06:58:55 -05:00
Rapptz
d921a03911
Fix bug where Guild.member_count would clear during update events
...
Fix #7656
2022-03-12 04:19:52 -05:00
Rapptz
9fd63ad7f3
Fix Optional type hints not respecting explicitly set defaults
2022-03-12 02:03:17 -05:00
Rapptz
9dea6caf20
Ensure cog app commands is a list rather than a dict
...
There was a remnant of it being a dict in the metaclass.
2022-03-11 21:30:49 -05:00
Rapptz
333849e5a3
Unbind bound methods passed to Command constructor
...
Fixes #7600
2022-03-11 10:26:16 -05:00
Rapptz
140a827190
Fix default guilds for commands not being respected
...
Pesky little typo
Fix #7641
2022-03-11 08:33:37 -05:00
Rapptz
740c156cd8
Allow Optional transformers to work at runtime
2022-03-11 08:06:11 -05:00
Rapptz
bbf7a7981b
Ensure all choices are the same type as the parameter type
...
Fixes #7625
2022-03-11 07:29:11 -05:00
Rapptz
377561844d
Raise an error if a child command has default guilds set
2022-03-11 07:18:34 -05:00
Rapptz
f54c4ca54e
Validate application command names
2022-03-11 06:40:28 -05:00
Rapptz
f4ca36ec5a
Add Member.timeout helper method
2022-03-10 21:32:33 -05:00
Rapptz
26c6b4d449
Use new differentiator for guild and global commands
...
Fixes #7602
2022-03-10 20:10:49 -05:00
Rapptz
02fcc814e1
Allow passing guild_ids in constructors of Command and Group
...
Fixes #7626
2022-03-10 19:31:27 -05:00
Rapptz
f6453d9439
Fix free functions being passed a binding in autocomplete callbacks
...
Fix #7624
2022-03-10 19:26:00 -05:00
Rapptz
4edfcd165d
Version bump aiohttp and PyNaCl
...
Fixes #7614
2022-03-10 06:03:59 -05:00
Rapptz
5ff657dbec
Add missing attributes in PartialInviteGuild
2022-03-10 05:39:03 -05:00
Rapptz
d210f799ee
[commands] Fix cog eject behaviour with application commands
...
This was using the old attribute I forgot to change.
2022-03-10 05:33:54 -05:00
Rapptz
71586836e1
Add Guild.vanity_url helper property
2022-03-10 05:06:02 -05:00
Rapptz
a6ae7ec196
Raise error if two trees are registered to the same connection state
2022-03-09 20:35:07 -05:00
Rapptz
446bfa78b0
[commands] Allow Cog and app_commands interopability
...
This changeset allows app commands defined inside Cog to work as
expected. Likewise, by deriving app_commands.Group and Cog you can
make the cog function as a top level command on Discord.
2022-03-09 20:26:54 -05:00
Rapptz
5741ad9368
Change default guild IDs attribute to persist on copy
2022-03-09 20:26:54 -05:00
Rapptz
0d126c594c
Use descriptor protocol to obtain attribute name instead of a dict
2022-03-09 20:26:54 -05:00
Rapptz
303d33bb08
Support Group with app_commands.guilds decorator
2022-03-09 20:26:54 -05:00
Rapptz
9d27855755
Update attributes of instantiated Group to point to the Command copy
2022-03-09 20:26:54 -05:00
Rapptz
56e0c1b3d7
Fix typo in applications.commands scope
2022-03-09 20:26:53 -05:00
Rapptz
3d74da8d70
Add missing app_commands decorators to documentation
2022-03-08 01:22:43 -05:00
Rapptz
0c690bc949
Fix audio not sending
...
Fixes #7531
2022-03-08 01:18:32 -05:00
Rapptz
25b4bc277b
Add app_commands.guilds to set the guilds of a command in another way
...
This is mostly preparation for interopability with commands.Cog as this
would allow authors to specify the guilds for their cog defined
commands.
2022-03-08 00:48:24 -05:00
Rapptz
5fb1b933cf
Add Group.commands property
2022-03-08 00:07:39 -05:00
Rapptz
987e27dfce
Revert all Guild.chunk changes
...
This method should *not* return a list of members due to the way it is
used internally.
2022-03-07 22:14:38 -05:00
Rapptz
e6a87e0782
Add support for adding app commands locally to many guilds
...
This affects the context_menu and command decorators as well. Removing
and syncing do not support multiple guild IDs.
2022-03-07 21:52:58 -05:00
Rapptz
8213603822
Change default oauth_url scopes to include application.commands
2022-03-07 18:35:42 -05:00
Rapptz
ba2763a4a1
Add private hook for changing the API version
...
This is mainly a temporary, undocumented, stop gap for bots that are
screwed over from waiting for Discord to grant them the message content
intent.
2022-03-07 18:23:12 -05:00
Rapptz
fc4e5d6237
Fix type checker error in discord.__main__
2022-03-07 18:10:40 -05:00
Rapptz
ac0e4fabb8
Fix type checker error in Guild.chunk
2022-03-07 18:09:23 -05:00
Rapptz
4b2c2b231d
Fix type checker errors in Connectable and Messageable
2022-03-07 18:05:43 -05:00
Rapptz
1f8687505f
Fix InteractionResponse.edit_message not working with modal submits
2022-03-07 17:53:01 -05:00