Parameter Resolver
Base class for parameter resolvers, needs to be implemented alongside the interface of at least one interaction type:
Text commands: TextParameterResolver or QuotableTextParameterResolver
Slash commands: SlashParameterResolver
Message context commands: MessageContextParameterResolver
User context commands: UserContextParameterResolver
Components: ComponentParameterResolver
Component timeouts: TimeoutParameterResolver
Modal handlers: ModalParameterResolver
Custom parameter types: ICustomResolver
Usage
As this class is sealed, you need to extend ClassParameterResolver or TypedParameterResolver instead.
Default parameter resolvers
Text | Slash | Message context | User context | Components | Modals | Component timeout | |
---|---|---|---|---|---|---|---|
String | ✓ (can be quoted) | ✓ | ✓ | ✓ | ✓ | ||
Boolean | ✓ | ✓ | ✓ | ✓ | |||
Int | ✓ | ✓ | ✓ | ✓ | |||
Long | ✓ | ✓ | ✓ | ✓ | |||
Double | ✓ | ✓ | ✓ | ✓ | |||
Emoji | ✓ | ✓ | ✓ | ✓ | |||
IMentionable | ✓ (only mentions) | ✓ | |||||
List of mentionable (see @MentionsString) | ✓ | ||||||
Role | ✓ | ✓ | ✓ | ||||
UserSnowflake | ✓ | ✓ | ✓ (target user) | ✓ | |||
User | ✓ | ✓ | ✓ (target user) | ✓ | |||
Member | ✓ | ✓ | ✓ (target user) | ✓ | |||
InputUser | ✓ | ✓ | ✓ (target user) | ✓ | |||
GuildChannel subtypes1 | ✓ | ✓ | ✓ | ||||
Guild | ✓ | ✓ (as a String) | ✓ | ||||
Message | ✓ (target message) | ||||||
Attachment | ✓ |
The channel types are set automatically depending on the type, but a broader channel type can be used and restricted to multiple concrete types by using @ChannelTypes.
Parameter resolvers for services exist by default, and follow the rules described in @BService.
You can also check loaded parameter resolvers in the logs on the trace
level.
Parameters
Type of the implementation
Type of the returned resolved objects