Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript DM中的消息不起作用Discord.js_Javascript_Node.js_Discord.js - Fatal编程技术网

Javascript DM中的消息不起作用Discord.js

Javascript DM中的消息不起作用Discord.js,javascript,node.js,discord.js,Javascript,Node.js,Discord.js,我试图在用户的DM中运行一个waitMessage函数,但它不起作用。有人能帮忙吗 错误:TypeError:无法读取未定义的属性“awaitMessages” const discord = require('discord.js') module.exports = { name: "team", description: "You can create a new team", usage: "team", ca

我试图在用户的DM中运行一个waitMessage函数,但它不起作用。有人能帮忙吗

错误:TypeError:无法读取未定义的属性“awaitMessages”

const discord = require('discord.js')

module.exports = {
  name: "team",
  description: "You can create a new team",
  usage: "team",
  category: "info",
  run: (client, message) => {

      const member = message.member; 
      const user = message.author;

      member.send("Do you want continue ? (Yes/No)");
      message.dmChannel.awaitMessages(user == message.author, {max: 1 ,  time: 40000})
      .then (collect => {
        if (collected.first().content.toLowerCase() == 'yes') {
       member.send("Test") 
       } else {
       member.send("Test")
       }
       });
  }
}```

首先,我建议对多条waitmessages使用async/await,因为代码可能会变得非常嵌套且难以查看

而不是

message.dmChannel.awaitMessages(用户==message.author,{max:1,时间:40000})
使用

let collected=await message.dmChannel.await messages(过滤器,{max:1,时间:400000});
如果您试图只允许触发该命令的用户通过筛选器,只需如下匹配ID:

let filter=(m)=>{m.author.id==message.author.id;}
最后,如果用户未能回复,只需使用try/catch块,如下所示

let filter=(m)=>{
m、 author.id==message.author.id;
};
试一试{
let collected=await message.dmChannel.await messages(过滤器{
最高:1,
时间:40万,
});
let response=collected.first().content.toLowerCase();
如果(回答=“是”){
成员。发送(“测试”);
}否则{
成员。发送(“测试”);
}
}捕获(e){
返回消息。回复(“看起来你回复的时间太长了!”);
}
我希望这能为你服务