const { MessageEmbed } = require("discord.js"); module.exports = { name: "help", description: "Get information on a specific command", usage: "[command]", permissions: { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, aliases: ["command", "commands", "cmd"], /** * * @param {require("../structures/LinesPoliceCadBot")} client * @param {import("discord.js").Message} message * @param {string[]} args * @param {*} param3 */ SlashCommand: { options: [ { name: "command", description: "Get information on a specific command", value: "command", type: 3, required: false, }, ], /** * * @param {require("../structures/LinesPoliceCadBot")} client * @param {import("discord.js").Message} message * @param {string[]} args * @param {*} param3 */ run: async (client, interaction, args, { GuildDB }) => { if (GuildDB.customChannelStatus==true&&!GuildDB.allowedChannels.includes(interaction.channel_id)) { return interaction.send(`You are not allowed to use the bot in this channel.`); } let Commands = client.commands.map((cmd) => `\`/${cmd.name}${cmd.usage ? " " + cmd.usage : ""}\` - ${cmd.description}` ); let Embed = new MessageEmbed() .setColor(client.config.EmbedColor) .setDescription(`${Commands.join("\n")} QuarksBot Version: v${client.config.Version}`); if (!args) return interaction.send(Embed); else { let cmd = client.commands.get(args[0].value) || client.commands.find( (x) => x.aliases && x.aliases.includes(args[0].value) ); if (!cmd) return client.sendTime( interaction, `❌ | Unable to find that command.` ); let embed = new MessageEmbed() .setDescription(cmd.description) .setColor("GREEN") //.addField("Name", cmd.name, true) .addField("Aliases", cmd.aliases.join(", "), true) .addField( "Usage", `\`/${cmd.name}\`${cmd.usage ? " " + cmd.usage : ""}`, true ) .addField( "Permissions", "Member: " + cmd.permissions.member.join(", ") + "\nBot: " + cmd.permissions.channel.join(", "), true ); interaction.send(embed); } }, }, };