Discord.js Discord等待消息超时| Discord V12

Discord.js Discord等待消息超时| Discord V12,discord.js,Discord.js,我被一个问题困住了。当“玩家2”(玩家[1])类型!是,在频道中,然后说明超时的原因。我不确定我做错了什么。player[1]被定义为msg.indications.members.first() let answer=true; 如果(玩家[1].user.bot){ 返回; }否则{ 应答=等待消息。频道。等待消息((消息)=>{ console.log(msg.author.id==players[1]。id&&msg.content===`!yes`)//返回true 如果(msg.au

我被一个问题困住了。当“玩家2”(玩家[1])类型!是,在频道中,然后说明超时的原因。我不确定我做错了什么。player[1]被定义为
msg.indications.members.first()

let answer=true;
如果(玩家[1].user.bot){
返回;
}否则{
应答=等待消息。频道。等待消息((消息)=>{
console.log(msg.author.id==players[1]。id&&msg.content===`!yes`)//返回true
如果(msg.author.id==players[1]。id&&msg.content===`!yes`){
log(“玩家已接受”)//控制台打印“玩家已接受”
返回true;
}
返回false;
},{maxMatches:1,时间:30000,错误:['time']})
.catch(()=>{
log(“超时!”)//控制台也打印“超时”
返回false;
});
}
//如果用户拒绝播放
如果(!回答){
返回频道。发送(`${players[1]}首选逃跑。`);
}

您对
等待消息()
的语法不正确-第一个参数应该是
收集器过滤器(请参阅),而不是回调

考虑改用
createMessageCollector()
。它读起来比
awaitMessages()
好得多,比将async/await强制放入收集器更有意义。应该是这样的:

const filter=m=>(m.author.id==players[1]。id&&m.content==“!yes”);
const collector=msg.channel.createMessageCollector(过滤器,{max:1,时间:30000});
收集器.on(“收集器”,(m)=>{
//玩家已经接受…做任何事
});
收集器.on(“结束”,(原因)=>{
如果(原因=“时间”){
//没时间了
}
});