Files
xiao/commands/code/lint-rule.js
T
2024-03-30 00:30:52 -04:00

38 lines
1.0 KiB
JavaScript

const Command = require('../../framework/Command');
const { MessageEmbed } = require('discord.js');
const { Linter } = require('eslint');
const linter = new Linter();
const rules = linter.getRules();
module.exports = class LintRuleCommand extends Command {
constructor(client) {
super(client, {
name: 'lint-rule',
aliases: ['eslint-rule', 'linter-rule'],
group: 'code',
memberName: 'lint-rule',
description: 'Responds with information on an ESLint rule.',
clientPermissions: ['EMBED_LINKS'],
args: [
{
key: 'rule',
type: 'string',
parse: rule => rule.toLowerCase().replaceAll(' ', '-')
}
]
});
}
run(msg, { rule }) {
if (!rules.has(rule)) return msg.say('Could not find any results.');
const data = rules.get(rule).meta;
const embed = new MessageEmbed()
.setAuthor('ESLint', 'https://i.imgur.com/04GhEhU.png', 'https://eslint.org/')
.setColor(0x3A33D1)
.setTitle(rule)
.setURL(data.docs.url)
.setDescription(data.docs.description);
return msg.embed(embed);
}
};