首页 > 解决方案 > 列出特定类别的所有机器人命令

问题描述

我有一些来自特定类别的命令,我想在用户执行命令时列出它们!例如我的一个命令:

const Discord = require('discord.js')
const { MessageEmbed } = require('discord.js')

module.exports = {
    name: "ping",
    description: "Bot websocket ping",
    category: "general",
    run: async (Raphy, message, args) => {
      message.channel.send(`${Raphy.ws.ping} ws ping`);
    }
}

如果用户执行,我想在General类别中列出命令,!commands General我该怎么做?

标签: javascriptnode.jsdiscorddiscord.js

解决方案


一个简单的过滤器将起作用:

let categoryCmds = message.client.commands.filter(c => c.category === args[0].toLowerCase())
message.reply(categoryCmds.map(c => c.name).join(" **|** "))

这是非常短的语法,很容易根据自己的喜好进行修改。


推荐阅读