I’m trying to make this command so only I can run it, no luck so far.
client.on("message", message => {
const args = message.content.slice(config.prefix.length).trim().split(/ +/g);
const command = args.shift().toLowerCase()
if (command === "test") {
console.log((chalk.yellow)`You ran a command: test`)
message.channel.send('test')
}
});
I tried using
if (!message.author.id === config.ownerID) return;
and
if (message.author.id !== config.ownerID) return;
When I used the first one, the command worked but everyone was able to run it, and when I used the second one no one was able to run it at all. I don’t get any error logs nor crashes. Anyone knows the correct code?
Advertisement
Answer
As I mentioned in my comment above, the first one is definitely incorrect, as you’re converting message.author.id to a boolean by using the logical NOT operator (!). Your second attempt could work if config.ownerID was a string, but you can’t compare a string to an array.
If your config.ownerID is an array of IDs, you can use the includes() method to check if the message.author.id is included the given array:
if (config.ownerID.includes(message.author.id)) return