Javascript Discord.js如何知道用户是否阻止bot

Javascript Discord.js如何知道用户是否阻止bot,javascript,discord.js,Javascript,Discord.js,我编写了代码,允许bot向用户发送私人消息,我需要知道用户是否阻止bot或未能向他发送消息 这就是我试过的。如果失败,我不希望bot发送以下消息: 消息已发送 if(message.content.startsWith(前缀+'send')){ 如果(!botOwner.includes(message.author.id))返回; 让userID='ID';//发送 让channel=message.guild.channels.get(message.channel.id); 让user=

我编写了代码,允许bot向用户发送私人消息,我需要知道用户是否阻止bot或未能向他发送消息

这就是我试过的。如果失败,我不希望bot发送以下消息:

消息已发送

if(message.content.startsWith(前缀+'send')){
如果(!botOwner.includes(message.author.id))返回;
让userID='ID';//发送
让channel=message.guild.channels.get(message.channel.id);
让user=bot.users.get(userID);
让myMessage=message.content.split(“”).slice(1).join(“”);
如果(!myMessage)返回;
user.send(myMessage)
.then(channel.send('Message Sent!'))//这一行中的问题{
控制台错误(err)
message.channel.send(`**${user.username}**,未能发送给他❌`)
});
}

我会这样做:

var error = false;

user.send(myMessage)
 .catch(err => {

  error = true;

  console.error(err)
  message.channel.send(`**${user.displayName}**, Failed to send message. ❌`)

 });

if (!error) channel.send('Message Sent!')
将函数传递到

//请记住,按照定义方式,“用户”是行会成员,而不是用户。
user.send(myMessage)
。然后(()=>message.channel.send(':incoming_信封:message sent successfully!'))
.catch(错误=>{
错误(`向${user.displayName}发送消息时出错…\n`,错误);
message.channel.send(“:x:无法发送消息”。)
.catch(err=>console.error(`error when sending error message…\n`,err));
});

如果(!error)当我阻止bot时,它会显示发送的
消息和错误消息。。当我执行
if(error)
时,不要显示已发送的
消息。你能试试吗?我不能马上测试它,但是你可能把
如果(!error)
放到
中。然后()
.catch()之后。