Plugin helper for Hershel
When you don't want your plugin to have access to an instance of an encapsulated Hershel Client, you can
- Use the skip-override hidden property
- Use this module
In addition if you use this module when creating new plugins, you can declare the expected Hershel version that your plugin needs and the plugin name.
npm i @hershel/plugin
hershel
should be installed as well.
This module can do for you:
Add the skip-override property
Check the minimum version of Hershel
Add plugin name
const myPlugin = plugin((instance, opts, next) => {
// your code
next()
})
If you need to set a minimum version of hershel for your plugin, just add the semver range
const { plugin } = require('@hershel/plugin')
const myPlugin = (instance, opts, next) => {
// your plugin code
next()
}
plugin(myPlugin, { hershel: '1.x.x' })
By default, the plugin name will be the function name, or anonymous for anonymous function. If you want to override the name, just set { name: '' }
like this:
const { plugin } = require('@hershel/plugin')
const myPlugin = (instance, opts, next) => {
// your plugin code
next()
}
plugin(myPlugin, { name: 'myAwesomePlugin' })
You can turn off adding skip-override hidden property with { shouldSkipOverride: false }
- hershel - A framework for modular and blazing fast Discord bots
- hershel/dispatcher - Command dispatcher for Hershel
- hershel/examples - Example of integration with Hershel
Hershel uses part of Fastify's theoretical logic, a fast and low overhead web framework for Node.js.
MIT