Discord.js 如何知道用户是否阻止了机器人

我编写了让机器人向用户发送私人消息的代码,我需要知道用户是否阻止了机器人或未能向他发送消息。

这是我尝试过的。如果失败,我不希望机器人在下面发送消息:

消息已发送!


http://img2.mukewang.com/61274d9c0001812903660191.jpg

if(message.content.startsWith(prefix+'send')){

    if(!botOwner.includes(message.author.id)) return;

    let userID = 'ID'; //to send

    let channel = message.guild.channels.get(message.channel.id);

    let user = bot.users.get(userID);

    let myMessage = message.content.split(' ').slice(1).join(' ');

    if(!myMessage) return;



    user.send(myMessage)

    .then(channel.send('Message Sent!')) //The problem in this line <-

    .catch(err => {

        console.error(err)

        message.channel.send(`**${user.username}**, Failed to send him ❌`)

    });

}


森林海
浏览 181回答 2
2回答

婷婷同学_

将函数传入then().// Keep in mind that 'user' is a GuildMember the way it's been defined, not a User.user.send(myMessage)&nbsp; .then(() => message.channel.send(':incoming_envelope: Message sent successfully!'))&nbsp; .catch(err => {&nbsp; &nbsp; console.error(`Error while sending message to ${user.displayName}...\n`, err);&nbsp; &nbsp; message.channel.send(':x: Message could not be sent.')&nbsp; &nbsp; &nbsp; .catch(err => console.error(`Error while sending error message...\n`, err));&nbsp; });
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript