-
Notifications
You must be signed in to change notification settings - Fork 0
/
log.js
93 lines (86 loc) · 3.19 KB
/
log.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
var exports = module.exports = {};
var db=require("./DB.js");
var main=require("./bot.js");
const config = require("./config.json");
const challonge = require('challonge');
const tournament = challonge.createClient({
apiKey: config.challonge
});
exports.log=function(channel,id,tourneyID,winnerSeed,looserSeed,liaison){
if(liaison>=1) return getIDs(channel,id,tourneyID,winnerSeed,looserSeed,liaison);
db.isAvaible(id,function(bool){
if(bool) getIDs(channel,id,tourneyID,winnerSeed,looserSeed)
else return channel.send("You have already submitted a result");
})
};
function getIDs(channel,id,tourneyID,winnerSeed,looserSeed,liaison){
db.getID(tourneyID,winnerSeed,function(winnerID){
db.getID(tourneyID,looserSeed,function(looserID){
getMatchID(channel,id,tourneyID,winnerID,looserID,liaison);
})
})
}
function getMatchID(channel,id,tourneyID,winnerID,looserID,liaison){
var tourneyURL="";
if(tourneyID==91) tourneyURL="FCIT_TH9_S1";
if(tourneyID==92) tourneyURL="FCIT_TH9_S2";
if(tourneyID==101) tourneyURL="FCIT_TH10_S1";
if(tourneyID==102) tourneyURL="FCIT_TH10_S2";
if(tourneyID==111) tourneyURL="FCIT_TH11_S1";
if(tourneyID==112) tourneyURL="FCIT_TH11_S2";
console.log(winnerID+" - "+looserID);
tournament.matches.index({
id: tourneyURL,
participant_id: winnerID,
callback: (err, data) => {
var i=0;
while(data[i]){
if(data[i].match.player1Id==looserID||data[i].match.player2Id==looserID){
return getMatch(channel,id,tourneyID,tourneyURL,winnerID,looserID,data[i].match.id,liaison)
}
i++;
}
channel.send("I could not find the match you want to report for :(")
}
});
}
function getMatch(channel,id,tourneyID,tourneyURL,winnerID,looserID,matchID,liaison){
if(liaison==2) return deleteMatch(channel,matchID,tourneyID,tourneyURL)
db.isalreadyLogged(matchID,tourneyID,function(bool){
if(bool){
//match already reported
db.getReport(matchID,tourneyID,function(data){
if (winnerID==data.winnerID) return channel.send("You opponent has reported exactly the same :)")
//reports do not match
else return issue(channel,id,tourneyID,tourneyURL,winnerID,looserID,matchID,data);
})
} else {
db.report(matchID,tourneyID,id,winnerID,looserID,function(sucess){
if(sucess) db.setState(id,tourneyID,function(sucess2){
tournament.matches.update({
id: tourneyURL,
matchId: matchID,
match: {
scoresCsv: '1-0',
winnerId: winnerID
},
callback: (err, data) => {
if (!err) channel.send("Your report has been carefully recorded");
}
});
});
});
}
})
}
function deleteMatch(channel,matchID,tourneyID,tourneyURL){
db.deleteMatch(matchID,tourneyID,function(response){
if (response) return channel.send("Sucessfully erased report")
else channel.send("An error has occured");
});
}
function issue(channel,id,tourneyID,tourneyURL,winnerID,looserID,matchID,data){
console.log("An issue has occured");
db.setState(id,tourneyID,function(sucess2){});
main.issue(channel,id,tourneyID,winnerID,looserID,matchID,data)
}