我怎样才能让我的机器人只显示我的命令中的一些目录

How can i make my Bot show only some directories from my Commands

大家好,我一直在尝试执行一个列出所有目录及其文件的帮助命令。问题是我想秘密地保留其中一些 directories/commands。 我已经知道如何将此代码实施到嵌入中,所以我只想知道如何只使某些目录可供查看。这是我到目前为止所做的:`

让类别 = [];

        fs.readdirSync("./commands/").forEach((dir) => {
            const commands = fs.readdirSync(`./commands/${dir}/`).filter((file) =>
              file.endsWith(".js")
            );
    
            const cmds = commands.map((command) => {
              let file = require(`../../commands/${dir}/${command}`);
    
              if (!file.name) return //"No command name.";
    
              let name = file.name.replace(".js", "");
    
              return `\`${name}\``;
            });
    
            let FileData = new Object();
    
            FileData = {
              name: dir.toUpperCase(),
              value: cmds.length === 0 ? "In progress." : cmds.join(" "),
            };

            const InvalidDirs = [
                'blaxyy-server',
                'minecraft-server',
                'owner-only'
            ]

            categories.push(FileData)
        });`

然后命令和目录名称应该在 Embed 上,但我想将 InvalidDirs 中列出的目录保密,这样不是每个人都能看到它们。

有人知道我该怎么做吗?

在每个要保密的文件中,添加一个 属性 像这样

name: 'command name',
description: 'Command Description.',
secret: true,

然后在这里检查

fs.readdirSync("./commands/").forEach((dir) => {
    const commands = fs.readdirSync(`./commands/${dir}/`).filter((file) =>
        file.endsWith(".js")
    );

    const cmds = commands.map((command) => {
        let file = require(`../../commands/${dir}/${command}`);

        if (file.secret) return; // this is the line that will check for the secret property

        if (!file.name) return //"No command name.";

        let name = file.name.replace(".js", "");

        return `\`${name}\``;
    });

    let FileData = new Object();

    FileData = {
        name: dir.toUpperCase(),
        value: cmds.length === 0 ? "In progress." : cmds.join(" "),
    };

    categories.push(FileData)
});