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
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