const { Command } = require('../../../../interfaces/'); class HelpCommand extends Command { constructor(client) { super(client, { name: 'help', module: 'information' }); this.client = client; } async execute(message, { params }) { if (!params.length) return message.embed({ description: message.format('C_HELP') }); const [ key ] = params; let [ result ] = this.client.resolver.components(key, 'command'); if (!result) [ result ] = this.client.resolver.components(key, 'setting'); if (!result) return message.embed({ description: message.format('C_HELP_404', { component: key }) }); //let index = `${result.type.slice(0, 1).toUpperCase()}_${result.name.toUpperCase()}_HELP`; return message.embed({ description: message.format('C_HELP_TEMPLATE', { desc: message.format(result.description), component: result.name.toUpperCase(), text: result.examples.map(ex => `\`{prefix}${result.type === 'command' ? result.name.toLowerCase() : `settings ${result.name.toLowerCase()}`} ${ex}\``).join('\n') }), fields: [ { name: 'Aliases', value: result.aliases.map(al => al.toLowerCase()).join(', ') } ] }); } } module.exports = HelpCommand;