node.js - 如何向 message.content 添加多个参数?

标签 node.js cmd discord discord.js

我的代码需要一些帮助。我今天开始使用 Node.JS 和 Discord.JS 库以及其他库编写我的第一个 Discord 机器人。我目前正在使用 YouTube 视频来指导我了解 Node.JS。这是我的问题。

这是我当前的代码。

const Discord = require('discord.js');
const bot = new Discord.Client();

bot.on('message', (message) => {

    if(message.content == 'ping') {
        message.reply('pong');
    }

    if(message.content == 'xd') {
        message.reply('smh');
    }

});

这段代码工作正常。如果您转到第二个 message.content,它里面写有 'xd'。当我在 Discord 服务器中写入单词 xd 时,机器人将返回 smh。这样做的问题是,当大写与 xd 中的大小写完全相同时,机器人只会返回 smh,但我希望它适用于所有大写。

像这样。

    if(message.content == 'xd', 'xD', 'XD', 'Xd',) {
        message.reply('pong');
}

显然,上面的代码不起作用,但是有什么简单的方法可以做到这一点吗?

干杯。

最佳答案

在我回答问题之前,请确保在共享源代码时隐藏机器人的 token ,因为这样人们就可以使用您的机器人(如果它具有正确的权限)执行一些有害的操作。

好的,答案是:

首先声明一个名为 msg 的变量或存储 message.content.toLowerCase(); 的变量。因此,无论人们如何输入,它总是小写。

请注意,只有当 message.content 为“xd”时,它才会起作用,因此,如果一个人键入“xD Something”,则此方法将不起作用。

代码中的其他内容:

如果您想检查某人是否使用某个前缀来表示命令,您可以检查 message.content.startsWith("prefix"); - 这将返回 true 或 false。

将消息内容分解为单独的变量总是好的,这样您就可以轻松地对消息执行您想要执行的操作,例如命令和参数变量 (convert message.content 首先进入数组)

关于node.js - 如何向 message.content 添加多个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51466870/

相关文章:

javascript - 如何使用索引数组来更改深度未知的多维对象中的特定项目?

javascript - Handlebars 选择框填充

windows - 注册表中的参数扩展出现问题 | %~n1

node.js - 向特定用户发送消息?

python - Discord python 解禁成员

javascript - 评估失败 : TypeError: Cannot read properties of null (reading 'firstElementChild' )

node.js - 子进程未调用关闭事件

c++ - Matlab 不会运行我的 C++ .exe 文件

windows - 批处理文件抛出错误但是当每个命令在命令行中单独运行时它工作正常

javascript - Discord.js:无效的位域标志或数字:GUILDS