Javascript 未处理的PromisejectionWarning(不协调机器人)

Javascript 未处理的PromisejectionWarning(不协调机器人),javascript,discord.js,Javascript,Discord.js,嘿,对不起,如果我把这个贴错了地方,我只是在这里注册了(: 因此,我正在开发一个discord bot,它向我服务器中的每个人发送一个DM,但每当它无法发送DM时(可能是因为有人禁用了DM或其他原因),我就会收到此错误未处理的PromisejectionWarning 我希望它能一直向其他用户发送消息,即使出现错误。现在,当错误出现时,它会停止向其他用户发送消息 我的代码: bot.on('message',message=>{ if(message.content.startsWith('+d

嘿,对不起,如果我把这个贴错了地方,我只是在这里注册了(:

因此,我正在开发一个discord bot,它向我服务器中的每个人发送一个DM,但每当它无法发送DM时(可能是因为有人禁用了DM或其他原因),我就会收到此错误
未处理的PromisejectionWarning

我希望它能一直向其他用户发送消息,即使出现错误。现在,当错误出现时,它会停止向其他用户发送消息

我的代码:

bot.on('message',message=>{
if(message.content.startsWith('+dmall')){
试一试{
message.guild.members.forEach(成员=>
成员。发送(“测试”))
}
捕获(错误){
log('Couldnt向用户发送dm!');
}
}
})

未处理的PromiserRejection来自您的member.send方法,该方法返回一个承诺。为了解决此问题,我在该方法中添加了一个.catch

message.guild.members.forEach(成员=>{
member.send(“test”).catch(console.log(“Couldnt send dm to a user!”))
});

但是,请注意,向公会中的每个人发送DM都是严格禁止不和谐ToS的,您可能会被报告进行大规模DMIN,因此使用时请自行承担风险。

是的,谢谢您,这是有道理的。奇怪的是,它仍然不起作用,我仍然会收到相同的错误消息,永远被卡住/:@ErikJohansson UnhandledPromisejectionWarning来自member.send()方法,该方法实际返回消息承诺。我已经为您编辑了代码,这将清除错误