Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var Client = require("mysql-pro");
- var client = new Client({
- mysql: {
- host: "127.0.0.1",
- port: 3306,
- database: "civtest",
- user: "root",
- password: "#####"
- }
- });
- // var diplo = `!report Game Type: Diplo Early Bird
- // 1: <@12321321421412421>
- // 2: <@23423052352342334>
- // 3: <@45346346345343453>
- // 4: <@23423423423523523>`
- var diplo = `!report Game Type: Team Modded
- Team: 1
- <@23452342359234534>
- <@34642342359232352> Quit
- Team: 2
- <@34534342359234879>
- <@58493457202345054>`
- var report = {};
- function gameType(game) {
- let data = {};
- let game_types = [{id: 1, name: 'Diplo'}, {id: 2, name: 'Always War'}, {id: 3, name: 'FFA'}
- , {id: 4, name: 'No Diplo'}, {id: 5, name: 'Team'}, {id: 6, name: 'Duel'}, {id: 7, name: 'No War'}];
- let o = {}
- let reType = /!report Game Type:[\s+]?(\d|\w+)\s?(\w+\s?(\w+)?)?\n/gi
- let match = reType.exec(game)
- if(match[1]){
- for (var j = 0; j < game_types.length; j++) {
- if ((game_types[j].name).toLowerCase() === (match[1]).toLowerCase()) {
- data.type = game_types[j].id;
- break;
- }
- }
- }
- if(match[2]){
- data.misc = match[2]
- }
- diplo = game.slice(reType.lastIndex);
- return (data)
- }
- function getPlayers(game) {
- let players = [];
- rePlayer = /(\d+):\s?<@(\d+)>[\s\S]?(\w+\s?\w+)?/gi;
- do {
- let o = {};
- player = rePlayer.exec(game);
- if (player) {
- o.position = player[1]
- o.discord_id = player[2]
- players.push(o);
- }
- } while (player);
- return players;
- }
- function getTeamPlayers(game) {
- let players = [];
- reTeam = /Team:\s(\d)[\s\S](\s+?<@(\d+)>[\s]?(\w+)?)+/gi;
- rePlayer = /\s+?<@(\d+)>[\s\S]?(\w+\s?\w+)?/gi;
- let i = 1;
- do {
- team = reTeam.exec(game);
- if(team){
- do {
- player = rePlayer.exec(team[0]);
- if(player){
- let o = {};
- o.team_id = i;
- o.position = team[1];
- o.discord_id = player[1];
- if(player[2]){
- //I know this is wrong here.
- client.query("SELECT quest_id, name, exp, description FROM `quest`;")
- .then(function(result) {
- let m = 0;
- do{
- if(player[2] === result[m].name){
- o.misc = result[m].quest_id; // This obviously won't work as it's async trying to be used as async.
- break;
- }
- m++;
- } while(m <= result.length)
- }, function(error){
- console.log(error)
- });
- }
- players.push(o);
- }
- }while(player)
- }
- i++;
- }while(team)
- return players;
- }
- function getOptions() {
- return
- }
- function main() {
- //console.log("Reading game data...")
- try {
- report = gameType(diplo)
- if(report.type === 5){
- report.players = getTeamPlayers(diplo);
- //console.log(report);
- }else{
- report.players = getPlayers(diplo);
- }
- } catch (err) {
- return 'Error Processing Report!';
- }
- }
- main();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement