【问题标题】:How to check a message string against an array如何根据数组检查消息字符串
【发布时间】:2023-03-31 06:30:01
【问题描述】:

在 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 无法识别。

【问题讨论】:

  • 您的代码存在语法错误。请先解决这个问题。

标签: javascript bots discord.js


【解决方案1】:

带有 : 的代码行

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));

【讨论】:

    猜你喜欢
    • 2015-05-08
    • 2016-06-05
    • 1970-01-01
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    • 2010-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多