我的代码需要一些帮助。我今天开始使用 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/