Commit Graph
100 Commits
Author SHA1 Message Date
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
Rapptz e8506f39b3 Add discord.app_commands to Pyright configuration
This also updates the type ignore settings.
2022-03-07 17:51:48 -05:00
Rapptz 0330282c5f Create a default TCPConnector with no limit
The default implementation only allows for 100 concurrent connections
and during heavy sharding (>=100 shards) this can end up freezing
shards.
2022-03-07 01:19:37 -05:00
Rapptz 625c416f18 [commands] Fix command parameter handling in HelpCommand 2022-03-06 01:39:43 -05:00
Rapptz fa901afa3a Add replied_user key when no allowed_mentions is passed in 2022-03-05 23:39:06 -05:00
Rapptz c9fc11b0a5 Document inherited members in ui.Modal 2022-03-05 23:17:37 -05:00
Rapptz 06291d860c Change enum members in Locale to be snake_case
Not even sure how this slipped through.
2022-03-05 23:17:37 -05:00
Rapptz 82464419ce Fix black reformatting on guild file
Black seems to not properly run on 2nd commits on PRs so this slid
through.
2022-03-05 22:14:58 -05:00
Rapptz 13e102b6b9 Add default parameter to CommandTree.sync
I'm not sure how I feel about this, since explicitly passing
guild=None seems better.
2022-03-05 22:02:33 -05:00
Rapptz 7ac4f3007b Fix missing type imports in context menu verification 2022-03-05 21:43:14 -05:00
Rapptz 4c8b1f9abd Remove unused imports 2022-03-05 21:40:42 -05:00
Rapptz 5c9605fc1b Fix Message context menus not working 2022-03-05 21:15:49 -05:00
Rapptz 37d55c8ec4 Add TextInput.__str__ special method
Closes #7504
2022-03-05 21:05:46 -05:00
Rapptz f7315573aa Remove generic from Interaction and ConnectionState
This results in poor ergonomics due to the lack of default generics
for the common case. For most users this ends up in a degraded
experience since the type will resolve to Unknown rather than at the
very least a Client.
2022-03-05 05:03:23 -05:00
Rapptz aa74238053 Reorganise documentation for interactions 2022-03-04 21:17:27 -05:00
Rapptz 41f2792ed9 Change Interaction.user to not be Optional
This has potential to be a breaking change and Discord could definitely
royally screw this over in the future. However, as far as I can tell
every interaction has either a User or a Member so this change should
be kosher. I'm unaware of any interaction, even in the future, where
this is not true.

I hope these are not my famous last words.
2022-03-02 02:11:04 -05:00
Rapptz 45dc3d3df9 Rename start_embedded_activities to use_embedded_activities 2022-03-02 01:51:47 -05:00
Rapptz f80f81c395 Add Member.resolved_permissions attribute for interaction members 2022-03-02 01:39:39 -05:00
Rapptz f435d160dd Add Interaction.client property 2022-03-01 08:11:22 -05:00
Rapptz 6110fe5b1c Add fallback overloads for CommandTree 2022-03-01 07:54:14 -05:00
Rapptz 50ef8e8893 Fix NameError when checking for File instances 2022-03-01 07:21:16 -05:00
Rapptz d44328d3ea Remove region from Guild.__slots__
This also fixes up some docstrings
2022-03-01 05:54:26 -05:00
Rapptz bb5ed4947d Add regression test for optional normalisation
Also runs black on the tests file
2022-03-01 05:54:26 -05:00
Rapptz 26fc694189 Fix Optional normalisation not working properly 2022-03-01 05:42:44 -05:00
Rapptz ae1aaac5a7 Add support for autocomplete 2022-03-01 05:42:44 -05:00
Rapptz 4e04dbdec7 Add support for choice option parameters
This implements it in three different ways:

* The first is using typing.Literal for quick and easy ones
* The second is using enum.Enum for slightly more complex ones
* The last is using a Choice type hint with a decorator to pass
  a list of choices.

This should hopefully cover most use cases.
2022-03-01 05:42:44 -05:00
Rapptz e5e5b61ad0 Add support for range validation in options 2022-03-01 05:42:44 -05:00
Rapptz 3cf3065c02 Add support for annotation transformers
This facilitates the "converter-like" API of the app_commands
submodule. As a consequence of this refactor, more types are supported
like channels and attachment.
2022-03-01 05:42:44 -05:00
Rapptz c10ed93cef Add support for error handlers 2022-03-01 05:42:44 -05:00
Rapptz cdb7b3728e Fix potential conflicts in snowflake keys
This can happen on really old channels with the same ID as the guild ID
and having a command with both a role and a channel.
2022-03-01 05:42:44 -05:00
Rapptz dffd72da58 Add support for context menu commands 2022-03-01 05:42:44 -05:00
Rapptz 0d2db90028 Implement slash commands 2022-03-01 05:35:29 -05:00
Rapptz 3d0c506124 Fix test_resolve_invite due to changed type 2022-03-01 01:07:13 -05:00
Rapptz 8226f0df2c [commands] Require number of parameters at instantiation time
This allows it to bypass annotation evaluation for arguments that don't
matter like self and context.
2022-02-25 10:55:45 -05:00
Rapptz 0b5c3cf256 [types] Fix types for channels and interactions 2022-02-25 10:44:53 -05:00
Rapptz e13997f35e Remove region parameters from HTTPClient 2022-02-25 10:44:37 -05:00
Rapptz 29c26bc0a6 [types] Fix application command choice typings 2022-02-23 17:38:52 -05:00
Rapptz 0ed745f5ae Remove regular context manager support from Typing 2022-02-23 16:05:08 -05:00
Rapptz c7df838a39 Remove AuditLogDiff.region references 2022-02-23 10:14:36 -05:00
Rapptz 0eb2f32399 Remove VoiceRegion enum and Guild.region attribute
This has been marked deprecated by Discord and it was more or less
usually out of date due to the pace they added them anyway.
2022-02-23 10:03:13 -05:00
Rapptz cc21872072 Add Locale enum 2022-02-23 08:41:50 -05:00
Rapptz 550bdda51b Temporarily disable artefact uploading 2022-02-22 06:54:20 -05:00
Rapptz 8d52ddaff6 Fix remaining type errors in main package
This doesn't fix the type errors in the ext packages though.
2022-02-22 04:19:46 -05:00
Rapptz 3e90664cf9 Fix signature for VoiceClient 2022-02-22 04:09:48 -05:00
Rapptz 30e7a2e937 Fix a few more type errors 2022-02-21 23:31:18 -05:00
Rapptz d01e73fca5 Document more uses of type ignore 2022-02-21 23:08:26 -05:00
Rapptz 51b79411e3 Fix and document type ignores in client 2022-02-21 22:52:24 -05:00
Rapptz 6c2ea4f0a0 Fix some type ignores in backoff and channel 2022-02-21 22:43:19 -05:00
Rapptz c7c6d74d8d Fix type errors in the abc module 2022-02-21 22:38:36 -05:00
Rapptz 24b729ed0d Fix up some type ignores in state.py 2022-02-21 22:28:32 -05:00
Rapptz 5589934a59 Fix NameError in utils.get 2022-02-20 11:22:40 -05:00
Rapptz c406951532 Fix typing errors in Guild.audit_logs 2022-02-20 11:21:07 -05:00
Rapptz f2600995e8 Fix NameError due to missing import 2022-02-20 11:04:50 -05:00
Rapptz e56f64218a Rename default_value to default for TextInput 2022-02-20 11:04:50 -05:00
Rapptz 4f85494c11 Fix Sequence inheritance in 3.8 2022-02-20 08:54:15 -05:00
Rapptz fbb8a35de6 Relocate and fix versionchanged in find and get 2022-02-20 08:46:20 -05:00
Rapptz a1e64dd657 Fix Sphinx build failing
TextInput was missing in `__all__`.
2022-02-20 08:31:16 -05:00
Rapptz 88b520b5ab Reformat code using black
Segments where readability was hampered were fixed by appropriate
format skipping directives. New code should hopefully be black
compatible. The moment they remove the -S option is probably the moment
I stop using black though.
2022-02-20 08:04:58 -05:00
Rapptz af8e74d327 Allow deferring modal_submit interactions
This also adds a thinking boolean to toggle which type of deferring
is done when there can be ambiguity.
2022-02-20 05:23:09 -05:00
Rapptz 015072b7fd Remove wrong import 2022-02-19 22:36:34 -05:00
Rapptz e14153ddcb Fix nonce being sent even when not specified 2022-02-18 23:15:46 -05:00
Rapptz cfdccbd5ff Add support for AppInfo.flags 2022-02-18 09:00:09 -05:00
Rapptz 92d1b4cd2b Refactor interaction response handling to support files
This adds support for file sending and allowed_mentions
2022-02-18 08:10:38 -05:00
Rapptz 770a5fee9c Remove PartialMessage.edit duplicated code
Now that Message.edit returns the message this duplication is no longer
needed.
2022-02-18 07:48:43 -05:00
Rapptz 9c066a8cf6 Refactor internal message sending and editing parameter passing
This reduces some repetition in many functions and is ripped out of
the webhook code. This also removes the unused HTTP functions for
interaction responses since those belong in the webhook code rather
than the HTTPClient.
2022-02-18 07:47:59 -05:00
Rapptz 2c89202214 Fix some minor typing issues 2022-02-17 09:38:12 -05:00
Rapptz 3113036a54 Fix typing for utils.as_chunks 2022-02-17 09:37:58 -05:00
Rapptz b389596f26 Fix typing of User._accent_colour 2022-02-17 09:20:08 -05:00