Class JDACommands

java.lang.Object
com.github.kaktushose.jda.commands.JDACommands

public final class JDACommands extends Object

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 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 corresponding JDA instance
      clazz - a class of the classpath to scan
      packages - 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 corresponding ShardManager instance
      clazz - a class of the classpath to scan
      packages - 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 corresponding JDA instance
      clazz - a class of the classpath to scan
      packages - 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 corresponding ShardManager 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 with CommandScope.GUILD
    • getButton

      @NotNull public @NotNull Button getButton(@NotNull @NotNull String button)

      Gets a Button based on the definition id and transforms it into a JDA Button.

      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

      @NotNull public @NotNull SelectMenu getSelectMenu(@NotNull @NotNull String menu)

      Gets a StringSelectMenu or EntitySelectMenu based on the definition id and transforms it into a JDA SelectMenu.

      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