|
|
const {Command} = require('../../lib.js');
|
|
|
const find = require('findit');
|
|
|
const path = require('path')
|
|
|
const {EmbedBuilder} = require('discord.js');
|
|
|
|
|
|
|
|
|
class help extends Command{
|
|
|
constructor(client){
|
|
|
super(client, {
|
|
|
name: 'help',
|
|
|
memberName: 'help',
|
|
|
aliases:['command'],
|
|
|
description: 'Displays a list of available commands, or the details of a specified command.',
|
|
|
})
|
|
|
this.client = client;
|
|
|
}
|
|
|
async run(message, args)
|
|
|
{
|
|
|
if(args.length==0)
|
|
|
{
|
|
|
let finder = find(path.resolve('commands'));
|
|
|
let payload = {embeds:[]};
|
|
|
var Fields = [];
|
|
|
finder.on('file', file=>
|
|
|
{
|
|
|
let command = require(file);
|
|
|
if(typeof command === 'function')
|
|
|
{
|
|
|
let c = new command(this);
|
|
|
let _aliases = c.aliases;
|
|
|
let needsAdmin = c.needsAdmin;
|
|
|
if(!c.hidden)
|
|
|
{
|
|
|
Fields.push(
|
|
|
{
|
|
|
name: '!'+c.name+(needsAdmin?' - Requires administrator permissions:':' :'),
|
|
|
value: '–'+c.description + (_aliases?(' Can also be called using an aliases:'+_aliases.join(' ')):'')
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
finder.on('end', ()=>
|
|
|
{
|
|
|
var i = 0;
|
|
|
for(var f in Fields)
|
|
|
{
|
|
|
if (!payload.embeds[Math.floor(i / 25)])
|
|
|
{ //checks if the embed with the required fields already exists in our array
|
|
|
payload.embeds.push(
|
|
|
new EmbedBuilder()
|
|
|
.setColor(0x0099FF)
|
|
|
.setTitle('List of Commands:')
|
|
|
.setAuthor({ name: 'Rem-Chan', iconURL: 'https://i.imgur.com/g6FSNhL.png', url:'https://rem.wordfights.com/addtodiscord'})
|
|
|
.setTimestamp()
|
|
|
.setFooter({ text: 'Rem-Chan on ', iconURL: 'https://i.imgur.com/g6FSNhL.png'})
|
|
|
)
|
|
|
}
|
|
|
payload.embeds[Math.floor(i / 25)].addFields(Fields[f]);
|
|
|
i++;
|
|
|
}
|
|
|
})
|
|
|
|
|
|
|
|
|
message.author.send(payload);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
//message.author.send()
|
|
|
}
|
|
|
}
|
|
|
module.exports = help; |