mirror of https://github.com/kry008/Bot-2.0.git
help command
parent
8e08a932bf
commit
1747e91dee
106
commands/help.js
106
commands/help.js
|
@ -0,0 +1,106 @@
|
||||||
|
//optiona name of the command
|
||||||
|
var fs = require('fs');
|
||||||
|
function getAllCommands(client) {
|
||||||
|
const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));
|
||||||
|
const allCommands = [];
|
||||||
|
for (const file of commandFiles) {
|
||||||
|
const command = require(`./${file}`);
|
||||||
|
allCommands.push(command);
|
||||||
|
}
|
||||||
|
return allCommands;
|
||||||
|
}
|
||||||
|
function allCommandsNames(guild = true)
|
||||||
|
{
|
||||||
|
//check if it is in dm or guild
|
||||||
|
if(guild)
|
||||||
|
{
|
||||||
|
const commands = getAllCommands();
|
||||||
|
let str = '';
|
||||||
|
for(const command of commands)
|
||||||
|
{
|
||||||
|
if(command.admin === false)
|
||||||
|
str += command.name + '\n';
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
const commands = getAllCommands();
|
||||||
|
let str = '';
|
||||||
|
for(const command of commands)
|
||||||
|
{
|
||||||
|
if(command.canBeUsedInDm)
|
||||||
|
if(command.admin === false)
|
||||||
|
str += command.name + '\n';
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getCommand(name, guild = true)
|
||||||
|
{
|
||||||
|
//check if it is in dm or guild
|
||||||
|
if(guild)
|
||||||
|
{
|
||||||
|
const commands = getAllCommands();
|
||||||
|
for(const command of commands)
|
||||||
|
{
|
||||||
|
if(command.name === name)
|
||||||
|
return command;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
const commands = getAllCommands();
|
||||||
|
for(const command of commands)
|
||||||
|
{
|
||||||
|
if(command.name === name && command.canBeUsedInDm)
|
||||||
|
return command;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
module.exports = {
|
||||||
|
name: 'help',
|
||||||
|
description: 'Get help with a command',
|
||||||
|
help: 'Get help with a command, you can also get a list of all commands',
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
name: 'command',
|
||||||
|
description: 'The command you want to get help with',
|
||||||
|
type: 3,
|
||||||
|
required: false,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
slash: true,
|
||||||
|
text: true,
|
||||||
|
admin: false,
|
||||||
|
requireKick: false,
|
||||||
|
requireBan: false,
|
||||||
|
canBeUsedInDm: true,
|
||||||
|
contexts: ['GUILD_TEXT', 'GUILD_VOICE', 'DM'],
|
||||||
|
integration_types: [0,1],
|
||||||
|
execute: async (message, args) => {
|
||||||
|
if(args.length === 0)
|
||||||
|
{
|
||||||
|
const commands = allCommandsNames();
|
||||||
|
message.channel.send(commands);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const command = getCommand(args[0]);
|
||||||
|
if(command === null)
|
||||||
|
{
|
||||||
|
message.channel.send('Command not found');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
message.channel.send('Name: ' + command.name + '\nDescription: ' + command.description + '\nHelp: ' + command.help);
|
||||||
|
},
|
||||||
|
executeSlash: async interaction => {
|
||||||
|
const command = getCommand(interaction.options.getString('command'));
|
||||||
|
if(command === null)
|
||||||
|
{
|
||||||
|
interaction.reply('Command not found');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
interaction.reply('Name: ' + command.name + '\nDescription: ' + command.description + '\nHelp: ' + command.help);
|
||||||
|
},
|
||||||
|
};
|
Loading…
Reference in New Issue