more data viewssss
parent
902e8775a7
commit
82108a0f3f
|
@ -10,7 +10,7 @@ services:
|
||||||
- NODE_ENV=production
|
- NODE_ENV=production
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/home/node/app
|
- ./:/home/node/app
|
||||||
command: "npx nodemon --exec npm start"
|
command: "npx nodemon --exec npm run debug-cache"
|
||||||
depends_on:
|
depends_on:
|
||||||
- redis
|
- redis
|
||||||
|
|
||||||
|
|
61
index.mjs
61
index.mjs
|
@ -16,9 +16,9 @@ const config = {
|
||||||
client: "redis://redis:6379", // leave null if client is local
|
client: "redis://redis:6379", // leave null if client is local
|
||||||
ttls: {
|
ttls: {
|
||||||
byMethod: {
|
byMethod: {
|
||||||
[METHOD_KEY.SUMMONER.GET_BY_SUMMONER_NAME]: 24 * 60 * 60 * 100, // 1 day
|
[METHOD_KEY.SUMMONER.GET_BY_SUMMONER_NAME]: 7 * 24 * 60 * 60 * 1000, // 7 day
|
||||||
[METHOD_KEY.MATCH_V5.GET_IDS_BY_PUUID]: 24 * 60 * 60 * 100, // 1 day
|
[METHOD_KEY.MATCH_V5.GET_IDS_BY_PUUID]: 7 * 24 * 60 * 60 * 1000, // 7 day
|
||||||
[METHOD_KEY.MATCH_V5.GET_MATCH_BY_ID]: 24 * 60 * 60 * 100, // 1 day
|
[METHOD_KEY.MATCH_V5.GET_MATCH_BY_ID]: 7 * 24 * 60 * 60 * 1000, // 7 day
|
||||||
// TODO: Figure out if I can get more games with old API?
|
// TODO: Figure out if I can get more games with old API?
|
||||||
// [METHOD_KEY.MATCH.GET_MATCHLIST_BY_ACCOUNT]: 24 * 60 * 60 * 100, // ms
|
// [METHOD_KEY.MATCH.GET_MATCHLIST_BY_ACCOUNT]: 24 * 60 * 60 * 100, // ms
|
||||||
},
|
},
|
||||||
|
@ -61,11 +61,11 @@ for (const matchId of commonGameIds) {
|
||||||
commonGames.push(game);
|
commonGames.push(game);
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(`Common Game Data Found: ${commonGameIds.length}`);
|
console.log(`\nCommon Game Data Found: ${commonGameIds.length}`);
|
||||||
|
|
||||||
commonGames.reverse();
|
commonGames.reverse();
|
||||||
|
|
||||||
let gameData = commonGames
|
let gameData0 = commonGames
|
||||||
.map(({ info, metadata }) => ({
|
.map(({ info, metadata }) => ({
|
||||||
id: metadata.matchId,
|
id: metadata.matchId,
|
||||||
data: info.participants
|
data: info.participants
|
||||||
|
@ -116,20 +116,65 @@ let gameData = commonGames
|
||||||
...rest,
|
...rest,
|
||||||
win: data[0].win,
|
win: data[0].win,
|
||||||
data: data.reduce((acc, playerData) => {
|
data: data.reduce((acc, playerData) => {
|
||||||
acc[playerData.summonerName] = playerData.positionEstimate;
|
acc[playerData.summonerName] = {
|
||||||
|
position: playerData.positionEstimate,
|
||||||
|
champion: playerData.championName,
|
||||||
|
};
|
||||||
return acc;
|
return acc;
|
||||||
}, {}),
|
}, {}),
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
gameData.forEach((g) => console.log(JSON.stringify(g, null, " ")));
|
console.log(`\nBot Lane Duo Matches Found: ${gameData0.length}`);
|
||||||
|
|
||||||
|
const wins0 = gameData0.filter(({ win }) => win).length;
|
||||||
|
const losses0 = gameData0.filter(({ win }) => !win).length;
|
||||||
|
console.log(`Wins: ${wins0}`);
|
||||||
|
console.log(`Losses: ${losses0}`);
|
||||||
|
console.log(`W/L: ${(wins0 / (wins0 + losses0)).toFixed(2)}`);
|
||||||
|
|
||||||
|
let gameData = gameData0.filter(
|
||||||
|
({ data }) => data["RavenShade"].champion !== "Smolder",
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(`\nBot Lane Duo Matches Found (No Smolder): ${gameData.length}`);
|
||||||
|
|
||||||
|
const rawWins = gameData.filter(({ win }) => win);
|
||||||
|
const rawLosses = gameData.filter(({ win }) => !win);
|
||||||
|
const winData = rawWins.map((win) => win.data);
|
||||||
|
const lossData = rawLosses.map((loss) => loss.data);
|
||||||
|
const wins = rawWins.length;
|
||||||
|
const losses = rawLosses.length;
|
||||||
|
console.log(`Wins: ${wins}`);
|
||||||
|
console.log(`Losses: ${losses}`);
|
||||||
|
console.log(`W/L: ${(wins / (wins + losses)).toFixed(2)}`);
|
||||||
|
|
||||||
|
console.log("\nwins");
|
||||||
|
winData
|
||||||
|
.map((d) =>
|
||||||
|
Object.entries(d).map(([summoner, { champion }]) => ({
|
||||||
|
summoner,
|
||||||
|
champion,
|
||||||
|
})),
|
||||||
|
)
|
||||||
|
.forEach((g) => console.log(JSON.stringify(g, null, "")));
|
||||||
|
|
||||||
|
console.log("\nlosses");
|
||||||
|
lossData
|
||||||
|
.map((d) =>
|
||||||
|
Object.entries(d).map(([summoner, { champion }]) => ({
|
||||||
|
summoner,
|
||||||
|
champion,
|
||||||
|
})),
|
||||||
|
)
|
||||||
|
.forEach((g) => console.log(JSON.stringify(g, null, "")));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {string} puuid
|
* @param {string} puuid
|
||||||
* @returns {Promise<string[]>}
|
* @returns {Promise<string[]>}
|
||||||
*/
|
*/
|
||||||
async function get_games_by_puuid(puuid) {
|
async function get_games_by_puuid(puuid) {
|
||||||
const COUNT = 100;
|
const COUNT = 20;
|
||||||
|
|
||||||
let games = [];
|
let games = [];
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,8 @@
|
||||||
"main": "index.mjs",
|
"main": "index.mjs",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "echo \"Error: no test specified\" && exit 1",
|
"test": "echo \"Error: no test specified\" && exit 1",
|
||||||
"start": "DEBUG=riotapi* node --no-deprecation index.mjs"
|
"start": "node --no-deprecation index.mjs",
|
||||||
|
"debug-cache": "DEBUG=riotapi* node --no-deprecation index.mjs"
|
||||||
},
|
},
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|
Loading…
Reference in New Issue