Commit Graph
100 Commits
Author SHA1 Message Date
Rapptz 6986733833 Revert "Validate Option names similar to slash command names"
This reverts commit 6ef2043b10.
2022-04-01 06:58:11 -04:00
Rapptz ca9fd355e8 Fix typo in Guild.bans docstring 2022-04-01 00:26:33 -04:00
Rapptz 9acf1db076 Support ban endpoint pagination 2022-04-01 00:09:02 -04:00
Rapptz 6ef2043b10 Validate Option names similar to slash command names 2022-04-01 00:09:02 -04:00
Rapptz 5096846c4e Allow None to be passed for Member.timeout 2022-04-01 00:09:02 -04:00
Rapptz 24f8f8d4a7 Rename MaxCommandsReached to CommandLimitReached 2022-03-31 23:10:13 -04:00
Rapptz a0618ef791 Clarify documentation certain tree methods 2022-03-31 10:31:48 -04:00
Rapptz 34b2ff40b6 Change ValueError on max commands reached to a more specific exception 2022-03-31 09:34:48 -04:00
Rapptz 705c79df59 Remove second mapping used for parameter rename lookup
Just keying into param.display_name should be enough
2022-03-31 08:58:53 -04:00
Rapptz dfc92c223c Fix application commands not always sending the proper parameter name 2022-03-31 08:55:20 -04:00
Rapptz 170ab7b2bb Improve error when an invalid slash command name is given 2022-03-31 04:12:09 -04:00
Rapptz 29668c51ae [commands] Revert back to older help command implementation
The newer implementation did not play nicely with spawned tasks and
accessing HelpCommand.context, which was a frequent pain point when
writing paginated help commands.
2022-03-31 02:46:42 -04:00
Rapptz b4fbb08818 Allow runtime modification of timeout expiry at runtime
This is done through setting View.timeout while it's running
2022-03-31 01:54:13 -04:00
Rapptz ff24c5229e Add iterator special method for Namespace
Fix #7812
2022-03-30 21:45:30 -04:00
Rapptz b1fb5ed3d7 Fix autocomplete not working with renamed parameters
Fix #7810
2022-03-30 19:46:27 -04:00
Rapptz e515378076 Remove annotation on row property in subclasses 2022-03-29 23:04:34 -04:00
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