Javascript 如何设置if状态,以便在用户已阻止DMs时,bot发送错误

Javascript 如何设置if状态,以便在用户已阻止DMs时,bot发送错误,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,在我的discord bot中,有一个/help命令,它DMs向用户提供一个命令列表。我的问题是,有些用户的DMs被锁定了。我希望这样,如果用户已阻止DMs,则bot将只在通道中发送消息。我尝试过使用try-catch块,但什么也没发生。代码如下: // defined embeds and stuff before this lime I am also using a command handler /*try { message.channel.send(gettingcm

在我的discord bot中,有一个
/help
命令,它DMs向用户提供一个命令列表。我的问题是,有些用户的DMs被锁定了。我希望这样,如果用户已阻止DMs,则bot将只在通道中发送消息。我尝试过使用try-catch块,但什么也没发生。代码如下:

// defined embeds and stuff before this lime I am also  using a command handler 
/*try {
      message.channel.send(gettingcmds);//.then; message.edit(gotcmds);
      message.author.send({embed: modAdmin});
      message.author.send({embed: botcmds});
      message.author.send({embed: extras});
      message.author.send({embed: neededperms});
      message.channel.send(gotcmds); 

    }
    catch(e) {

          message.channel.send(problem);

    }   */

module.exports.help = {
  name: "help"
}
总结如下:

=>一个
/help
命令起作用 =>如果用户已阻止其DMs,他们将不会收到bot将发送的消息。 =>如果出现错误,我将如何执行,以便bot只在执行命令的通道中发送消息


还有,如果我拼错了什么,请告诉我#prebearingforgcses

此代码应按您所述工作。我还合并了一个嵌入数组,并使用一个循环来提高效率

let embeds=[modAdmin、botcmds、extra、neededperms];
试一试{
for(让嵌入)message.author.send(嵌入);
message.channel.send('检查您的DMs!');
}捕获(e){
对于(让嵌入件中的嵌入件){
message.channel.send(嵌入)
.catch(e=>{
返回console.error();
});
}
}