如何使discord.js中的消息收集器根据用户发送的消息具有多个响应?

如何使discord.js中的消息收集器根据用户发送的消息具有多个响应?,discord.js,Discord.js,我正在尝试为货币机器人发出启动命令。我正在尝试制作一个消息收集器,它要求收集这个特定用户的消息。根据用户的反应,它会有不同的反应 如果用户回答“是”,机器人将发送“酷” 如果用户回答“否”,机器人将发送“不酷” 如果用户在15秒内没有回复,或者回复的不是“是”和“否”,则bot将发送“bruh” message.channel.send(“是还是否?”) .then(功能(消息){ const filter=m=>m.author.id==message.author.id,; const

我正在尝试为货币机器人发出启动命令。我正在尝试制作一个消息收集器,它要求收集这个特定用户的消息。根据用户的反应,它会有不同的反应

  • 如果用户回答“是”,机器人将发送“酷”
  • 如果用户回答“否”,机器人将发送“不酷”
  • 如果用户在15秒内没有回复,或者回复的不是“是”和“否”,则bot将发送“bruh”
message.channel.send(“是还是否?”)
.then(功能(消息){
const filter=m=>m.author.id==message.author.id,;
const collector=message.channel.createMessageCollector(筛选器,{max:1,时间:15000,错误:['time']})
collector.on('collect',m=>{
如果(m=“是”){
message.channel.send(“酷”)
}否则,如果(m==“否”){
message.channel.send(“不酷”)
}否则{
message.channel.send(“bruh”)
} 
})
})
}

但不管我说什么,机器人根本不响应,即使在控制台中也是如此<谢谢你的帮助

MessageCollector的
message
参数返回一个message对象。您当前试图做的是将一个对象(表示该对象的参数
m
)与一个字符串进行比较——这显然是无法做到的。 如果要将收集的消息与某个字符串进行比较,则必须比较其
content
属性,该属性显然返回收集的消息的内容

最终代码:
欢迎来到StackOverflow!好的第一个问题!我认为你甚至可以改进它:1。请尽量减少代码,使其更易于理解,缩小问题范围,并使答案对其他人有用。2.尝试优化标题(似乎您希望一次发送多个响应)。
message.channel.send("Yes or no?")
        .then(function (message) {
            const filter = m => m.author.id === message.author.id,;
            const collector = message.channel.createMessageCollector(filter, { max: 1, time: 15000, errors: ['time'] })
            collector.on('collect', m => {
                if (m.content == "yes") {
                  message.channel.send("cool")
                } else if (m.content == "no") {
                  message.channel.send("not cool")
                } else {
                    message.channel.send("bruh")
                } 
                
              })
          })
    }