我编写了一段代码,让机器人将用户发送到私人消息,我需要知道用户是否阻止了机器人或未能向他发送消息。
这是我尝试过的内容。如果失败,我不希望机器人发送以下消息:
这是我尝试过的内容。如果失败,我不希望机器人发送以下消息:
消息已发送!
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 ❌`)
});
}
if (!error)
存在问题。当我阻止机器人时,它会显示“消息已发送”和错误消息。 当我使用if (error)
时,不会显示“消息已发送”。你能试一下吗? - Anas7zif (!error)
放在了.catch()
之后的.then()
中。 - Xge