jeudi 14 janvier 2021

Multiple if/else conditions (discord bot)

I'm trying to create a simple discord bot, currently using nodeJS. I'm creating specific commands that only specific users can use and whenever someone who does not have permission to use such command can get a reply "You don't have permission". (I hope you get the idea. sorry for the bad wording).

This is my current code:

const Discord = require('discord.js');
const client = new Discord.Client();
const prefix = '!';

client.once('ready', () => {
    console.log('Bot is online');
});

client.on('message', message =>{
    if(!message.content.startsWith(prefix) || message.author.bot) return;
    const args = message.content.slice(prefix.length).split(/ +/);
    const command = args.shift().toLowerCase();
    

    if(command === 'ban' && message.author.id === "123456789"){
    message.channel.send('suspended');
    }
    else{message.channel.send('no permission.')
    ;}
    if(command === 'chat' && message.author.id === "123456789"){
    message.channel.send('chat-restricted');
    }
    else{message.channel.send('no permission.')
    ;}
    if(command === 'coins' && message.author.id === "123456789"){
    message.channel.send('balance updated.');
    }
    else{message.channel.send('no permission.')
    ;}
    
    if(command === 'coins 2' && message.author.id === "123456789"){
    message.channel.send('balance updated.');
    }
    else{message.channel.send('no permission.')
    ;}
});

But what happens is, whenever someone uses a command, the yes or no condition will show 4 times, because there are 4 commands.

So if a user tried to use the !ban command the output would be

no permission
no permission
no permission
no permission

I'm pretty sure i messed up something in my if/else conditions but im not sure what it is.. Help is highly appreciated, i'm sorry for the bad wording of things..

Aucun commentaire:

Enregistrer un commentaire