Overview
Added a default persistent component timeout, improved introspection API/resolvers, and a bunch of fixes.
Breaking changes
Autocomplete
- Autocomplete handlers can now only get parameters that are present on the slash command
Deprecations
Components
- Deprecated
Components.defaultTimeout
- Renamed to
Components.defaultEphemeralTimeout
- Now nullable
- Renamed to
Resolvers
- All
resolve
andresolveSuspend
functions were deprecated- New overloads were added, which accepts different kinds of options instead of the commands
- You can still get the command back from the
executable
property
Introspection API
- Deprecated getting parameters and option by name
- You can still use the collection methods to achieve the same result
Changes
Text commands
- Go to next text command variation if a value is
null
and required- Aligns with documented behavior on
TextParameterResolver#resolve
- Aligns with documented behavior on
New features
Components
- Added a default persistent component timeout (
Components.defaultPersistentTimeout
)- Set to
null
by default
- Set to
Commands
- Add support for inline classes in annotated commands
Bug fixes
Default DI
- Fixed
DefaultServiceContainer#getServiceNamesForAnnotation
returning services which were unavailable
Misc
- Fixed inability to scan nested JARs
- Such as Spring Boot JARs
Components
- Fixed inability to create select menus
Don't hesitate to check out the examples and the wiki.
Full Changelog: v3.0.0-alpha.19...v3.0.0-alpha.20