Persik
Persik

Reputation: 275

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

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?

Upvotes: 7

Views: 14655

Answers (1)

André
André

Reputation: 4497

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

Upvotes: 17

Related Questions