Faire un code individualisée

Fermé
Pierresm - 25 juin 2019 à 14:14
Bonjour,

Bonjour,

J'ai créer un bot discord "Ressourcesbot" dans l'optique de calculer les ressources d'un membre dans un Rp Discord.

Pour calculer la population, je prévoyais de faire un commande "!go" que le membre tape dès qu'il commence a jouer, cette commande permettrait d'ajouter et de donner le population chaque semaine (jusque là, tout va bien).

Le problème, c'est que cette commande "!go" que j'ai créer, elle est générale, c'est a dire que les variables concernent tous les membre (si un membre lance le programme et qu'un deuxième le fait ensuite, il a les résultats du premier).

J'aimerai donc que cette commande soit personnalisée/individualisée, mais je sais pas comment faire. (j'ai une idée, mais il risque d'être longue à coder).

Vous sauriez comment faire ?

Une deuxième question, comment je peux faire pour que mon bot marche 24/24 ?

mon code général :
const Discord = require('discord.js');
const bot = new Discord.Client();
const PREFIX = ('!');
var N;
N = 100;

bot.on('ready', function () {
    console.log("Je suis prêt !");
    bot.user.setActivity("En phase de Test");//Voir le Jeu sur le Discord
});

function sendError(message, description) {
    message.channel.send({embed : {
                color: 15158332,
                title: ':x: ' + description
            }
    })
}

bot.on('message', function (message) {
    if(message.content[0] === PREFIX) {
        if (message.content === '!ping') {
            message.reply('pong')
        }

        if (message.content === '!test') {
            message.channel.send('Test réussi !')
        }
        if (message.content === '!role') {
            message.reply('Vos roles sont ' + ((message.author).roles))
        }


        if (message.content === '!encore') {
            if (message.member.roles.has('586929070198095894')) {
                console.log('Yay, the author of the message has the role!');
            } else {
                console.log('Nope, noppers, nadda.');
            }
        }
        if (message.content === '!go') {
            bot.setTimeout(test, 1);

            function test() {
                if (message.member.roles.has('592453142097166366')) {
                    N = N + 350;
                    message.reply('Votre population est de ' + N)
                }
            }
        }
        if(message.content === '!boite') {
            message.channel.send({embed : {
                color : 3447003,
                author : {
                    name : bot.user.username,
                    icon_url : bot.user.avatarURL
                },
                title: 'Vos Statistiques :',
                description: 'Statistiques du *nom du pays*',
                fields:[{
                    name: 'Population :',
                    value: '*le chiffre de la population*'
                },
                    {
                        name: 'Vos ressources :',
                        value: '*les resources du pays*'
                    },
                    {
                        name: 'Vos situation :',
                        value: '*Famine/juste/ça va*'
                    }],
                footer: {
                    icon_URL: message.author.avatarURL,
                    text: message.author.username,
                    timestamp: new Date()
                }

                }})
        }

        if(message.content === '!humeur') {
            message.channel.send('Vous allez bien les gars ?');
            message.react('✅'); // fonctionne pas bien
            message.react(':x: ');
            bot.on('messageReactionAdd', function (reaction, user) {
                if(reaction.emoji.name === '✅') {
                    message.channel.send('Cool, vous êtes heureux !')
                }
                else if(reaction.emoji.name === ':x: ') {
                    message.channel.send('Ah, pas cool')
                }
            })
        }

        const splitMessage = message.content.split(' ');
        if(splitMessage[0] === '!dire') {
            if(splitMessage.length === 2) {
                message.channel.send(splitMessage[1])
            }
            else {
                sendError(message, "Cette commande ne supporte pas les phrases. Veuillez ne donner qu'un mot")
            }
        }
        else if(splitMessage[0] === '!ban') {
            if(splitMessage.length === 2)
                message.guild.ban(message.mentions.users.first());
            else sendError(message, "Vous n'avez pas mentionner l'utilisateur ou vous en avez mentionner plusieurs")
        }

    }

});

bot.login(' mon token ');


Le code qui concerne ce sujet :
if (message.content === '!go') {
            bot.setTimeout(test, 1);

            function test() {
                if (message.member.roles.has('592453142097166366')) {
                    N = N + 350;
                    message.reply('Votre population est de ' + N)
                }
            }
        }


Merci d'avance.

Répondez moi vite s'il vous plait, c'est assez presser (genre pour demain) ????.



Configuration: Macintosh / Firefox 67.0