Class JDACommands
java.lang.Object
com.github.kaktushose.jda.commands.JDACommands
The main entry point of the JDA-Commands framework. This class includes methods to manage the overall framework while running.
Instances of this class can be created by using one of the "start" or "builder" methods.
-
Method Summary
Modifier and TypeMethodDescriptionstatic @NotNull JDACommandsBuilder
Create a new builder.static @NotNull JDACommandsBuilder
builder
(@NotNull ShardManager shardManager, @NotNull Class<?> clazz, @NotNull String... packages) Create a new builder.@NotNull Button
@NotNull SelectMenu
getSelectMenu
(@NotNull String menu) Gets aStringSelectMenu
orEntitySelectMenu
based on the definition id and transforms it into a JDASelectMenu
.void
shutdown()
Shuts down this JDACommands instance, making it unable to receive any events from Discord.static @NotNull JDACommands
Creates a new JDACommands instance and starts the frameworks, including scanning the classpath for annotated classes.static @NotNull JDACommands
start
(@NotNull ShardManager shardManager, @NotNull Class<?> clazz, @NotNull String... packages) Creates a new JDACommands instance and starts the frameworks, including scanning the classpath for annotated classes.void
Updates all slash commands that are registered withCommandScope.GUILD
-
Method Details
-
start
@NotNull public static @NotNull JDACommands start(@NotNull @NotNull JDA jda, @NotNull @NotNull Class<?> clazz, @NotNull @NotNull String... packages) Creates a new JDACommands instance and starts the frameworks, including scanning the classpath for annotated classes. This uses reflections for some functionality.- Parameters:
jda
- the correspondingJDA
instanceclazz
- a class of the classpath to scanpackages
- package(s) to exclusively scan- Returns:
- a new JDACommands instance
-
start
@NotNull public static @NotNull JDACommands start(@NotNull @NotNull ShardManager shardManager, @NotNull @NotNull Class<?> clazz, @NotNull @NotNull String... packages) Creates a new JDACommands instance and starts the frameworks, including scanning the classpath for annotated classes. This uses reflections for some functionality.- Parameters:
shardManager
- the correspondingShardManager
instanceclazz
- a class of the classpath to scanpackages
- package(s) to exclusively scan- Returns:
- a new JDACommands instance
-
builder
@NotNull public static @NotNull JDACommandsBuilder builder(@NotNull @NotNull JDA jda, @NotNull @NotNull Class<?> clazz, @NotNull @NotNull String... packages) Create a new builder.- Parameters:
jda
- the correspondingJDA
instanceclazz
- a class of the classpath to scanpackages
- package(s) to exclusively scan- Returns:
- a new
JDACommandsBuilder
-
builder
@NotNull public static @NotNull JDACommandsBuilder builder(@NotNull @NotNull ShardManager shardManager, @NotNull @NotNull Class<?> clazz, @NotNull @NotNull String... packages) Create a new builder.- Parameters:
shardManager
- the correspondingShardManager
instance- Returns:
- a new
JDACommandsBuilder
-
shutdown
public void shutdown()Shuts down this JDACommands instance, making it unable to receive any events from Discord. This will not unregister any slash commands. -
updateGuildCommands
public void updateGuildCommands()Updates all slash commands that are registered withCommandScope.GUILD
-
getButton
Gets a
Button
based on the definition id and transforms it into a JDAButton
.The button will be
Runtime
independent. This may be useful if you want to send a message without using the framework.- Parameters:
button
- the name of the button in the format `FullClassNameWithPackage.method``- Returns:
- the JDA
Button
-
getSelectMenu
Gets a
StringSelectMenu
orEntitySelectMenu
based on the definition id and transforms it into a JDASelectMenu
.The select menu will be
Runtime
independent. This may be useful if you want to send a component without using the framework.- Parameters:
menu
- the name of the button in the format `FullClassNameWithPackage.method``- Returns:
- the JDA
SelectMenu
-