Rapptz
3215cb65e2
Raise if custom_id is not a str
2022-03-29 23:04:34 -04:00
Rapptz
b7b992375d
Add examples for new cooldown checks
2022-03-29 06:02:41 -04:00
Rapptz
9f83eb6032
Add application command cooldown decorators
...
Fix #7790
2022-03-29 00:46:42 -04:00
Rapptz
74b5e0ceb1
Implement some built in checks for app_commands
...
A lot of these implementations are adapted from the equivalent
ext.commands checks. These only implement the common ones that could
not solely be done by Discord in the future.
2022-03-28 16:36:29 -04:00
Rapptz
def035bf9a
Remove StoreChannel and any references to it
2022-03-28 00:09:19 -04:00
Rapptz
0a7eb6b021
Only verify if context menus pass a length check
...
According to Discord this is the check that is actually done
2022-03-27 23:32:36 -04:00
Rapptz
985f5732c0
Refactor ContextMenu constructor to allow app command type inferring
2022-03-25 09:11:11 -04:00
Rapptz
816d2176e9
Ignore type error already handled by exception handling
2022-03-24 23:50:47 -04:00
Rapptz
8591cfc5e7
Run black on all examples and require it for CI
2022-03-24 23:40:59 -04:00
Rapptz
968a1f366f
Change View callback order to (self, interaction, item)
...
This is more consistent with the rest of the library which always has
the interaction as the first parameter. This has been done before in
the command extension as well, the first parameter is always either
self or the context.
2022-03-24 23:00:50 -04:00
Rapptz
e9ed231a03
Allow Transformer.transform to be synchronous as well.
2022-03-22 22:44:42 -04:00
Rapptz
1f3aa377c3
Wrap non-AppCommandError exceptions with TransformerError
2022-03-22 19:07:22 -04:00
Rapptz
b0501e56a0
Fix PermissionOverwrite.update typing not allowing None
2022-03-22 18:55:42 -04:00
Rapptz
7851084b63
Revert "Crowdin translations download"
...
This reverts commit 414759f372 .
2022-03-21 22:53:45 -04:00
Rapptz
84c38f1f22
Ignore errors if it's already handled in app commands
2022-03-21 04:07:05 -04:00
Rapptz
f7c664e3e2
Add error handler support for context menus
2022-03-21 03:56:28 -04:00
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