Advertisement
Guest User

Untitled

a guest
Sep 16th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var Client = require("mysql-pro");
  2. var client = new Client({
  3.     mysql: {
  4.         host: "127.0.0.1",
  5.         port: 3306,
  6.         database: "civtest",
  7.         user: "root",
  8.         password: "#####"
  9.     }
  10. });
  11. // var diplo = `!report Game Type: Diplo Early Bird
  12. // 1: <@12321321421412421>
  13. // 2: <@23423052352342334>
  14. // 3: <@45346346345343453>
  15. // 4: <@23423423423523523>`
  16.  
  17. var diplo = `!report Game Type: Team Modded
  18. Team: 1
  19.     <@23452342359234534>
  20.     <@34642342359232352> Quit
  21. Team: 2
  22.     <@34534342359234879>
  23.     <@58493457202345054>`
  24.  
  25.  
  26. var report = {};
  27.  
  28.  
  29. function gameType(game) {
  30.     let data = {};
  31.     let game_types = [{id: 1, name: 'Diplo'}, {id: 2, name: 'Always War'}, {id: 3, name: 'FFA'}
  32.         , {id: 4, name: 'No Diplo'}, {id: 5, name: 'Team'}, {id: 6, name: 'Duel'}, {id: 7, name: 'No War'}];
  33.     let o = {}
  34.     let reType = /!report Game Type:[\s+]?(\d|\w+)\s?(\w+\s?(\w+)?)?\n/gi
  35.     let match = reType.exec(game)
  36.     if(match[1]){
  37.         for (var j = 0; j < game_types.length; j++) {
  38.             if ((game_types[j].name).toLowerCase() === (match[1]).toLowerCase()) {
  39.                 data.type = game_types[j].id;
  40.                 break;
  41.             }
  42.         }
  43.     }
  44.     if(match[2]){
  45.         data.misc = match[2]
  46.     }
  47.     diplo = game.slice(reType.lastIndex);
  48.     return (data)
  49. }
  50.  
  51. function getPlayers(game) {
  52.     let players = [];
  53.     rePlayer = /(\d+):\s?<@(\d+)>[\s\S]?(\w+\s?\w+)?/gi;
  54.         do {
  55.             let o = {};
  56.             player = rePlayer.exec(game);
  57.             if (player) {
  58.                 o.position = player[1]
  59.                 o.discord_id = player[2]
  60.                 players.push(o);
  61.             }
  62.         } while (player);
  63.         return players;
  64. }
  65.  
  66. function getTeamPlayers(game) {
  67.     let players = [];
  68.     reTeam = /Team:\s(\d)[\s\S](\s+?<@(\d+)>[\s]?(\w+)?)+/gi;
  69.     rePlayer = /\s+?<@(\d+)>[\s\S]?(\w+\s?\w+)?/gi;
  70.     let i = 1;
  71.     do {
  72.         team = reTeam.exec(game);
  73.         if(team){
  74.             do {
  75.                 player = rePlayer.exec(team[0]);
  76.                 if(player){
  77.                     let o = {};
  78.                     o.team_id = i;
  79.                     o.position = team[1];
  80.                     o.discord_id = player[1];
  81.                     if(player[2]){
  82.                         //I know this is wrong here.
  83.                         client.query("SELECT quest_id, name, exp, description FROM `quest`;")
  84.                         .then(function(result) {
  85.                             let m = 0;
  86.                                 do{
  87.                                 if(player[2] === result[m].name){
  88.  
  89.                                     o.misc =  result[m].quest_id; // This obviously won't work as it's async trying to be used as async.
  90.                                     break;
  91.                                 }
  92.                                 m++;
  93.                             } while(m <= result.length)
  94.                         }, function(error){
  95.                             console.log(error)
  96.                         });
  97.                     }
  98.                     players.push(o);
  99.                 }
  100.             }while(player)
  101.         }
  102.         i++;
  103.     }while(team)
  104.     return players;
  105. }
  106.  
  107. function getOptions() {
  108.     return
  109. }
  110.  
  111. function main() {
  112.  
  113.     //console.log("Reading game data...")
  114.     try {
  115.         report = gameType(diplo)
  116.         if(report.type === 5){
  117.             report.players = getTeamPlayers(diplo);
  118.             //console.log(report);
  119.         }else{
  120.             report.players = getPlayers(diplo);
  121.         }
  122.     } catch (err) {
  123.         return 'Error Processing Report!';
  124.     }  
  125.  
  126.  
  127. }
  128.  
  129. main();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement