3
votes

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
I don't believe it is possibleAdam W

1 Answers

8
votes

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!"));