OptionaldescriptionOptionalrequiresOptionalmultipleAllow several instances of this plugin (same name) on one bot at a time, each
with its own config and unplugged on its own. Default false: plugging a name that is
already plugged throws, so a plugin registered twice by mistake never runs its handlers
twice. Every instance must set it.
Register the plugin's handlers, hooks and tools. It must be synchronous and return
nothing: bot.plug() does not await it. An async install (or one that returns a
promise) does not compile (SyncInstallError names the reason); at runtime a
rejected promise is still reported on the bot's 'error' event, but the plugin is
already considered installed and nothing is rolled back. Do async setup lazily on first
use (the LazyProvider pattern in @botmesh/ai).
Optionalconfig: TConfigOptionaluninstall
Names of plugins that must already be plugged (
bot.plug()throws a descriptive error beforeinstall()runs otherwise). Checked at plug time only.