Discord.js 如何检查用户未接受直接消息

7
我想知道Discord机器人是否能够检查特定用户是否接受直接消息。目前这是我的代码:
exports.run = (client, message) => {
    try {
        message.author.send(`:ok_hand:`);
    } catch (err) {
        message.reply('Cannot send Direct Messages to your user!');
    }
}

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


我不相信这是可能的。 - Adam W
1个回答

16

不可能的。唯一找出是否可以发送直接消息的方法是尝试发送消息。
而且,您可以使用 Promise 的 catch 来捕获错误并执行其他操作,而无需使用 try catch。

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

1
谢谢Andre Paulo!这非常有帮助,也是压缩代码的好方法。 - Persik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接