Nick
Nick

Reputation: 105

Discord.js delete messages from specific UserIDs

So I'm having some problems with the code, I am trying to have the message.author.id match a list of IDs in a const then do something.

    const blacklisted = ["644298972420374528", "293534327805968394", "358478352467886083"];
    if (message.author.id === blacklisted) {
        message.delete()
        const blacklistedMSG = new Discord.RichEmbed()
            .setColor('#ff0000')
            .setTitle('Blacklisted')
            .setDescription(`You are currently Blacklisted. This means you cannot send messages in Any server with this bot.`)
            .setTimestamp()
            .setFooter(copyright);
        message.author.send(blacklistedMSG).then(msg => {msg.delete(30000)})
    }

When I have it like that, it doesn't do anything and there are no errors in the console about it. But when the code is this:

if (message.author.id === "644298972420374528") {
        message.delete()
        const blacklistedMSG = new Discord.RichEmbed()
            .setColor('#ff0000')
            .setTitle('Blacklisted')
            .setDescription(`You are currently Blacklisted. This means you cannot send messages in Any server with this bot.`)
            .setTimestamp()
            .setFooter(copyright);
        message.author.send(blacklistedMSG).then(msg => {msg.delete(30000)})
    }

It works and sends the user an embed and deletes the message they sent. Not sure what's going on with it. Thanks in advance.

Upvotes: 1

Views: 380

Answers (1)

Tarazed
Tarazed

Reputation: 2665

You are making a direct comparison to the array rather than checking to see if message.author.id is in the array.

Instead of

if (message.author.id === blacklisted)

Try

if (blacklisted.includes(message.author.id))

Upvotes: 1

Related Questions