javascript - 如何根据数组检查消息字符串

标签 javascript bots discord.js

在discord.js 中我创建了一个机器人。
我正在尝试使用字符串数组检查消息。
我遇到问题的代码如下所示:

module.exports = (client, message) => {
  var mcheck = message.content;
  for (i in mcheck) {
    var checkList = ['tomato', 'green']
    var inMSG = message.content.split(' ')
    var check = inMSG.includes(checkList[0, 1])
    if (check == true) {
      message.reply('This message included green or tomato!')
    }
  }
}

我收到的错误是第二行中的消息无法识别。

最佳答案

代码行:

for(mcheck 中的 i){

var check = inMSG.includes(checkList[0,1])

可能是被标记为无效的行。

我假设 mcheck 是一个数组。如果您尝试遍历数组,最好使用 Array.forEach , Array.map ,或者经典for声明。

for (let i = 0; i < mcheck.length; i++) {
  ...
}

此外,您可以执行以下操作来检查 message 字符串是否包含 checkList 数组中的任何单词:

const str = 'There is green or tomato';
const checkList = ['green','tomato']

checkList.some(substring => str.includes(substring));

关于javascript - 如何根据数组检查消息字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55989577/

相关文章:

javascript - 当只有一项时,Highchart 的 gridLineDashStyle 底部缺少网格线,如下所示

javascript - 尝试用 Canvas 制作 2 张快乐/悲伤的脸

javascript - 即使客户端时间错误,也能从客户端获取正确的纪元时间

javascript - 在 javascript 中只向数组的一个对象添加属性可以吗?

javascript - 尝试制作一个使用 tHiS fOnT 重复用户输入的不和谐机器人

javascript - 提及检测discord bot javascript的问题

botframework - 无法通过 Azure 门户创建 Web 应用程序机器人,出现 ServiceError : CreateAppOnlySteps

azure - Microsoft Bot Framework 中的对话冲突

discord.js - 错误: Invalid string format | const command = require (`${file}` );

javascript - 像普通用户一样使用你的机器人