DiscordAPIError: Cannot send messages to this user
现在,我们可以捕获该错误并基于它运行一个命令,比如在通道中回复用户不能被DM。
user.send(...).catch(async err => message.reply("I can't DM this user"));
// In the above, async is useless, but you can actually do what you want with it.
// then/catch
member.send(...).catch(error => {
console.error(`${error.name} :\n${error}`)
message.channel.send('There was an error when trying to DM this member')
});
// async/await
try {
await member.send(...);
} catch (err) {
console.error(err);
message.channel.send('There was an error when trying to DM this user');
}
3条答案
按热度按时间lymnna711#
如果用户有该选项,或者不能进行DM,则会抛出错误,即:
现在,我们可以捕获该错误并基于它运行一个命令,比如在通道中回复用户不能被DM。
要运行多行命令,请使用基于promise的catch。
aurhwmvo2#
如果用户启用了该选项,则DMing他们将返回错误,因此您可以使用
.catch()
语句:lvjbypge3#
您可以使用
.catch()
获取错误通知以及有关错误的信息在本例中,我记录错误类型和描述