Class ModuleManager

java.lang.Object
enterprises.iwakura.modularbot.managers.ModuleManager

public final class ModuleManager extends Object
  • Constructor Details

  • Method Details

    • getModules

      public List<Module<?>> getModules()
      Returns list of loaded modules in memory.
      Returns:
      List of modules
    • getModuleByName

      public Optional<Module<?>> getModuleByName(String name)
      Returns module by its name, if loaded.
      Parameters:
      name - Name of the module
      Returns:
      Optional of Module
    • loadModules

      public boolean loadModules()
      Loads all modules from the modules directories.
      Returns:
      True if modules were loaded successfully, false otherwise.
    • loadModule

      public void loadModule(Module<?> module)
      Loads specified module into memory.
      Parameters:
      module - Module to load
    • enableModules

      public void enableModules()
      Enables all loaded modules in memory.
    • enableModule

      public void enableModule(Module<?> module)
      Enables specified module.
      Parameters:
      module - Module to enable
    • unloadModules

      public void unloadModules()
      Unloads all loaded modules in memory.
    • unloadModule

      public void unloadModule(Module<?> module)
      Unloads specified module from memory.
      Parameters:
      module - Module to unload
    • processCommandClientBuilder

      public void processCommandClientBuilder(com.jagrosh.jdautilities.command.CommandClientBuilder commandClientBuilder)
      Processes all modules with specified CommandClientBuilder
      Parameters:
      commandClientBuilder - Non-null CommandClientBuilder
    • processGanyu

      public void processGanyu(enterprises.iwakura.ganyu.Ganyu ganyu)
      Processes all modules with specified Ganyu
      Parameters:
      ganyu - Non-null Ganyu
    • processShardBuilder

      public void processShardBuilder(net.dv8tion.jda.api.sharding.DefaultShardManagerBuilder shardManagerBuilder)
      Processes all modules with specified DefaultShardManagerBuilder
      Parameters:
      shardManagerBuilder - Non-null DefaultShardManagerBuilder
    • processException

      public void processException(Throwable throwable)
      Processes all modules with specified Throwable based on their exception handling packages
      Parameters:
      throwable - Non-null Throwable