Advertisement
Superloup10

Untitled

Aug 11th, 2017
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const jsonFile = require('jsonfile');
  2. const request = require('request');
  3.  
  4. let username = "";
  5. let attempt = 3
  6. let users = {
  7.     data: {}
  8. };
  9.  
  10. module.exports = {
  11.     run: (client, messageUser, message, args) => {
  12.         // Read file before process message
  13.         users = jsonFile.readFileSync("data/users.json");
  14.  
  15.         if (typeof(users.data[messageUser]) === "undefined" || (typeof(users.data[messageUser]) === "object" && users.data[messageUser].step === 0)) {
  16.             username = args[0];
  17.             console.log(`username : ${username}`);
  18.             // test username already use
  19.             for(const user in users.data) {
  20.                 if(user.username === username) {
  21.                    return;
  22.                 }
  23.             }
  24.  
  25.             // generate token and add user to file
  26.             request(`http://localhost/mybb/inc/plugins/minecraftforgefrance.php?username=${username}`, (err, res, body) => {
  27.                 if (body === "")
  28.                     message.channel.send(":x: Votre pseudo n'existe pas ou n'est pas correct.");
  29.                 else {
  30.                     // save user infos
  31.                     users.data[messageUser] = {
  32.                         "username": username,
  33.                         "token": body,
  34.                         "step": 1,
  35.                         "attempt": attempt
  36.                     };
  37.                     // save node
  38.                     jsonFile.writeFile("data/users.json", users, {spaces: 4}, err => {
  39.                         if (err)
  40.                             throw err;
  41.                         console.log("This file has been saved");
  42.                     });
  43.                     console.log(body);
  44.  
  45.                     message.channel.send(":white_check_mark: Un code vient de vous être envoyé par mp, veuillez l'indiquer en réponse à ce message.");
  46.                 }
  47.             });
  48.         } else if (users.data[messageUser].step === 1) {
  49.             // wait for token
  50.             if (users.data[messageUser].attempt !== 0 && args[0] !== users.data[messageUser].token) {
  51.                 attempt = users.data[messageUser].attempt - 1;
  52.                 users.data[messageUser].attempt = attempt;
  53.                 message.channel.send(`:x: **Code incorrect, veuillez réessayer. **Nombre d\'essai restant : **${users.data[messageUser].attempt}**`);
  54.            } else if(users.data[messageUser].attempt === 0) {
  55.                message.channel.send(":no_entry: **Code incorrect. Vous avez épuisé vos 3 essais.**\nVeuillez contacter l'équipe de Minecraft Forge France pour obtenir vos droits sur le Discord.").catch(console.error());
  56.            } else {
  57.                message.channel.send(":white_check_mark: **Code valide. Bienvenue !**\nPrière de lire les règles du salon #regles sur le Discord.").catch(console.error());
  58.                users.data[messageUser].step = 2;
  59.                // save node
  60.                jsonFile.writeFile("data/users.json", users, {spaces: 4}, err => {
  61.                    if (err)
  62.                        throw err;
  63.                    console.log("This file has been saved");
  64.                });
  65.  
  66.                for(const guild of client.guilds) {
  67.                    let role = guild[1].roles.find("name", "Membre");
  68.                    guild[1].members.get(messageUser).addRole(role).then(console.log("Success !")).catch(console.error);
  69.                }
  70.            }
  71.        }
  72.    },
  73.    canRun: (client, messageUser, message, args) => {
  74.        // Read file before process message
  75.        users = jsonFile.readFileSync("data/users.json");
  76.  
  77.        if(typeof(users.data[messageUser]) === "object" && users.data[messageUser].step === 2)
  78.            return false;
  79.        else
  80.            return true;
  81.    }
  82. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement