javascript - 列出特定类别的所有机器人命令
问题描述
我有一些来自特定类别的命令,我想在用户执行命令时列出它们!例如我的一个命令:
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
我该怎么做?
解决方案
一个简单的过滤器将起作用:
let categoryCmds = message.client.commands.filter(c => c.category === args[0].toLowerCase())
message.reply(categoryCmds.map(c => c.name).join(" **|** "))
这是非常短的语法,很容易根据自己的喜好进行修改。
推荐阅读
- swift - 如何获得绘制 NSMutableAttributedString 所需的矩形的估计大小?
- angular - 带有 ng-content -> form.valid/dirty 等的 Angular 表单不起作用
- apache-spark - Spark 应用程序如何访问 Amazon S3 存储桶中的文件/目录?
- protractor - 量角器没有默认建议 browser.actions() 并抛出 TypeError: browser.actions(...).dragAndDrop(...).perfrom is not a function
- python - 如何访问类中另一个函数中的变量?
- sql - 如何加入 2 个子查询
- wolfram-mathematica - 如何解决这个积分?
- asp.net - GridView ASP 中的图像
- c - C Low level I/O : 为什么它会挂在 while 循环中?
- python - 使用来自 KAFKA 主题的数据并从中提取字段并使用 python 存储在 MySQL 中