mirror of
https://github.com/Hessenuk/DiscordTickets.git
synced 2025-04-05 21:01:40 +03:00
89 lines
2.6 KiB
JavaScript
89 lines
2.6 KiB
JavaScript
/**
|
|
*
|
|
* @name DiscordTickets
|
|
* @author eartharoid <contact@eartharoid.me>
|
|
* @license GNU-GPLv3
|
|
*
|
|
*/
|
|
|
|
const Logger = require('leekslazylogger');
|
|
const log = new Logger();
|
|
const { MessageEmbed } = require('discord.js');
|
|
|
|
module.exports = {
|
|
name: 'help',
|
|
description: 'Display help menu',
|
|
usage: '[command]',
|
|
aliases: ['command', 'commands'],
|
|
example: 'help new',
|
|
args: false,
|
|
execute(client, message, args, {config}) {
|
|
const guild = client.guilds.cache.get(config.guild);
|
|
|
|
const commands = Array.from(client.commands.values());
|
|
|
|
if (!args.length) {
|
|
let cmds = [];
|
|
|
|
for (let command of commands) {
|
|
if (command.hide || command.disabled) continue;
|
|
if (command.permission && !message.member.hasPermission(command.permission)) continue;
|
|
|
|
let desc = command.description;
|
|
|
|
if (desc.length > 50) desc = desc.substring(0, 50) + '...';
|
|
cmds.push(`**${config.prefix}${command.name}** **·** ${desc}`);
|
|
}
|
|
|
|
message.channel.send(
|
|
new MessageEmbed()
|
|
.setTitle('Commands')
|
|
.setColor(config.colour)
|
|
.setDescription(
|
|
`\nThe commands you have access to are listed below. Type \`${config.prefix}help [command]\` for more information about a specific command.
|
|
\n${cmds.join('\n\n')}
|
|
\nPlease contact a member of staff if you require assistance.`
|
|
)
|
|
.setFooter(guild.name, guild.iconURL())
|
|
).catch((error) => {
|
|
log.warn('Could not send help menu');
|
|
log.error(error);
|
|
});
|
|
|
|
} else {
|
|
const name = args[0].toLowerCase();
|
|
const command = client.commands.get(name) || client.commands.find(c => c.aliases && c.aliases.includes(name));
|
|
|
|
if (!command)
|
|
return message.channel.send(
|
|
new MessageEmbed()
|
|
.setColor(config.err_colour)
|
|
.setDescription(`❌ **Invalid command name** (\`${config.prefix}help\`)`)
|
|
);
|
|
|
|
|
|
const cmd = new MessageEmbed()
|
|
.setColor(config.colour)
|
|
.setTitle(command.name);
|
|
|
|
|
|
if (command.long) cmd.setDescription(command.long);
|
|
else cmd.setDescription(command.description);
|
|
|
|
if (command.aliases) cmd.addField('Aliases', `\`${command.aliases.join(', ')}\``, true);
|
|
|
|
if (command.usage) cmd.addField('Usage', `\`${config.prefix}${command.name} ${command.usage}\``, false);
|
|
|
|
if (command.usage) cmd.addField('Example', `\`${config.prefix}${command.example}\``, false);
|
|
|
|
|
|
if (command.permission && !message.member.hasPermission(command.permission)) {
|
|
cmd.addField('Required Permission', `\`${command.permission}\` :exclamation: You don't have permission to use this command`, true);
|
|
} else cmd.addField('Required Permission', `\`${command.permission || 'none'}\``, true);
|
|
|
|
message.channel.send(cmd);
|
|
}
|
|
|
|
// command ends here
|
|
},
|
|
}; |