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

时间:2019-05-05 06:57:12

标签: 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!')
    }
  }
}

我得到的错误是第二行中的message无法识别。

1 个答案:

答案 0 :(得分:2)

代码行:

for (i in mcheck) {

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

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

我假设mcheck是一个数组。如果要遍历数组,最好使用Array.forEachArray.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));