Discord.js могу ли я выполнить файл внутри другого файла

#javascript #discord #discord.js

#javascript #Discord #discord.js

Вопрос:

У меня есть мой основной Index.js Файл, внутри которого у меня есть этот код (представьте, что ввод !help)

 const Discord = require('discord.js');
const client = new Discord.Client();
const fs = require('fs');
client.commands = new Discord.Collection();
const commandFiles = fs.readdirSync('./commands/').filter(file => file.endsWith('.js'));
for(const file of commandFiles){
    const command = require(`./commands/${file}`);
    client.commands.set(command.name, command);
}
client.on("error", console.error);
client.once('ready', () => {
    console.log('ProBot is online!');
});
client.on('message', message => {
    if (message.author.bot) return;
    if (message.guild === null) return;
    if (message.content.startsWith("!")){
        const prefix = "!";
        const args = message.content.slice(prefix.length).trim().split(/  /g);
        const command = args.shift().toLowerCase();
        if (command.length === 0) return;
        let cmd = client.commands.get(command);
        if (!cmd) return message.reply(``${prefix   command}` doesn't exist!`);
        cmd.execute(message, args);
    }
};
  

Затем это открывает файл help.js , например, являющийся

 const Discord = require('discord.js');
module.exports = {
    name: 'help',
    description: "!help Command",
    execute(message, args){
        if(!message.member.hasPermission("MANAGE_GUILD")){  //Regular Output
            message.react('❤️')
            const help2Embed = new Discord.MessageEmbed()
            .setColor('#ffd6d6')
            .setTitle('!Helpn')
            .setDescription('Check Your Private Messages For More Information')
            message.channel.send(help2Embed)
            const h11elpEmbed = new Discord.MessageEmbed()
            .setColor('#ffd6d6')
            .setTitle('!Helpn')
            .setDescription('This Bot Has Lots Of Special Featuresn n nGeneral Commands Are;n n!blacklist   = Shows The BlackListed Wordsn!safe          = Disables The Filter For That Messagen!server      = Displays Server Name, Total Members And Amount On/Offline')
            message.author.send(h11elpEmbed)
            return;
        }
}}
  

Вопрос в том, был ли он изменен на a !warn @member [низкий, средний, высокий] [причина] — Может ли индекс перевести его в warn.js файл, затем оттуда, в зависимости от того, является ли args [2] низким, средним, высоким, открыть и запустить новый файл? для запуска другого кода для каждого.[или, если есть более простой способ, который я упустил из виду]

Комментарии:

1. вы можете просто создать новый файл, который вы можете назвать так, как хотите, в соответствии с уже имеющейся у вас схемой. Затем внутри этого файла вы можете обрабатывать любые параметры, которые хотите использовать с помощью этой команды.

Ответ №1:

Просто чтобы закрыть вопрос и получить ответ.

действительно полезный комментарий от @worthy Alpaca (все заслуги перед ними) you can just create a new file, that you can name however you want, according to the schema you already have. Inside that file you can then handle whatever parameters you wish to use with that command