Discord.js 如何检查用户是否不接受私信

Discord.js How to check if the user does not accept Direct Messages

我想知道 Discord 机器人是否有可能检查机器人试图发送 DM 的特定用户是否接受直接消息。现在这是我的代码:

exports.run = (client, message) => {
    try {
        message.author.send(`:ok_hand:`);
    } catch (err) {
        message.reply('Cannot send Direct Messages to your user!');
    }
}

但我希望代码能够在尝试向用户发送消息之前判断用户是否正在接受直接消息。这可行吗?

不可能。确定您是否可以发送 DM 的唯一方法是尝试发送消息。
您可以使用 promises 中的 catch 来捕获错误并执行某些操作,而不是使用 try catch。

message.author.send('')
   .catch(() => message.reply("Can't send DM to your user!"));