Class Plugin


  • public class Plugin
    extends Object
    Represents a plugin. A plugin has a name and provides commands.
    • Method Detail

      • runOnReady

        public reactor.core.publisher.Mono<Void> runOnReady()
      • getName

        public String getName()
        Gets the name of the plugin.
        Returns:
        the name
      • getDatabaseMappingResources

        public Set<String> getDatabaseMappingResources()
        Gets a set of resource names that corresponds to database mapping files. Mapping files usually end with *.hbm.xml and should be located at the root of the src/main/resources directory of the plugin
        Returns:
        a set containing the name of all mapping files used in the plugin.
      • getGuildConfigurationEntries

        public Map<String,​GuildSettingsEntry<?,​?>> getGuildConfigurationEntries()
        Gets a map of configuration entries for guilds. Anything added here will be listed when using the setup command.
        Returns:
        the guild configuration entries
      • getCommandProvider

        public CommandProvider getCommandProvider()
        Gets the command provider for this plugin.
        Returns:
        the command provider
      • getGitProperties

        public reactor.core.publisher.Mono<Properties> getGitProperties()
        Gets the Git properties for this plugin. By default, it will look for a file named [plugin name].git.properties (where plugin name is the name of the plugin as returned by getName() but all lowercase and with spaces replaced with underscores), in the gitprops/ subdirectory of the resource classpath. If none is found, the returned Mono will complete empty.
        Returns:
        a Mono emitting the git properties if found
      • builder

        public static Plugin.Builder builder​(String name)
        Creates a new plugin builder with the specified name.
        Parameters:
        name - the name of the plugin to build
        Returns:
        a new Builder