Constructor for initial load. Usually called from the inherited constructor.
Used to load the Plugin, initially loading state if requred.
Returns the name of this plugin.
Used to unload the Plugin. Saves config/storage if required.
Client instance for the plugin.
Config instance for the plugin.
Returns path to this plugins config file.
Plugin log instance.
PluginOptions instance for the plugin.
Storage instance for the plugin.
Returns path to this plugins storage directory.
Returns path to this plugins storage file.
Bot instance for this plugin. Should always be set
Pointer to the dynamic library, used for cleaning up on shutdown.
The path to the dynamic library this plugin was loaded from. If set, this signals this Plugin was loaded from a dynamic library, and can be reloaded from the given path.
Current runtime state for this plugin
Registers a listener from a ListenerObject
Registers a command from a CommandObject
A Plugin represents a modular, extendable class that encapsulates certain Bot functionality into a logical slice. Plugins usually have a set of commands and listeners attached to them, and are built to be dynamically loaded/reloaded into a Bot.