问题
I was wondering if it is possible for a Discord bot to be able to check if a specific user the bot is trying to DM accepts direct messages. Right now this is my code:
exports.run = (client, message) => {
try {
message.author.send(`:ok_hand:`);
} catch (err) {
message.reply('Cannot send Direct Messages to your user!');
}
}
But I want the code to be able to tell if the user is accepting direct messages before trying to send the user a message. Is this doable?
回答1:
Its not possible. The only way to find out if you can send a DM or not is try sending the message.
And instead of using try catch, you could use the catch from promises to catch the error and do something instead.
message.author.send('👌')
.catch(() => message.reply("Can't send DM to your user!"));
来源:https://stackoverflow.com/questions/49621884/discord-js-how-to-check-if-the-user-does-not-accept-direct-messages