UNPKG

eris-boiler

Version:
35 lines (30 loc) 1.18 kB
const CommandMiddleware = require('../command-middleware') class Permission extends CommandMiddleware { /** * Class representing a permission. * @extends {CommandMiddleware} * @param {PermissionData} data The permission data. */ constructor (data) { const { level = 0, failMessage = 'You do not have the required permissions.', run = () => true } = data super({ run, failMessage }) this.level = level } } module.exports = Permission /** * @typedef PermissionData * @property {number} [level=0] The level of the permission (0 is the bottom). * @property {string} [failMessage='You do not have the required permissions.'] A message when a user does not meet the permission level. * @property {MiddlewareRun} [run=() => { return true }] A test to see if a member has this permission. */ /** * @callback PermissionRun * @param {DataClient} bot The DataClient. * @param {CommandContext} context The CommandContext. * @returns {Promise<boolean>|boolean} */