Basic constructor for a plugin.
Compile a list of our a plugin's oneliner commands.
Forwards to IRCPluginImpl.commandsImpl.
Loads configuration for this plugin from disk.
Writes plugin resources to disk, creating them if they don't exist.
Returns the name of the plugin. (Technically it's the name of the module.)
Proxies a bus message to the plugin, to let it handle it (or not).
Forwards the supplied IRCEvent to IRCPluginImpl.onEventImpl.
Lets a plugin modify an IRCEvent while it's begin constructed, before it's finalised and passed on to be handled.
Prints the plugin's Settings-annotated settings struct.
Gathers the configuration text the plugin wants to contribute to the configuration file.
Change a plugin's Settings-annotated settings struct member by their string name.
Namespace for the alias sequences of all event handler functions in this module, as well as the one of all IRCEventHandler annotations in the module.
Enables some debug output.
Name of the current module. Should never be specified and always be left to its __MODULE__ default value. Here be dragons.
final class MyPlugin : IRCPlugin { MyPluginSettings myPluginSettings; // type should be annotated @Settings at declaration // ...implementation... mixin IRCPluginImpl; }
Mixin that fully implements an IRCPlugin.
Uses compile-time introspection to call module-level functions to extend behaviour.
With UFCS, transparently emulates all such as being member methods of the mixing-in class.