Batch genre calls
This commit is contained in:
parent
61573f4e01
commit
7cb3ca3e58
@ -52,32 +52,35 @@ module.exports = {
|
|||||||
return interaction.editReply({ embeds: [embed] });
|
return interaction.editReply({ embeds: [embed] });
|
||||||
}
|
}
|
||||||
|
|
||||||
const beatGameIGDBEntries = [];
|
const gameIds = [];
|
||||||
|
|
||||||
for (let i = 0; i < beatenGamesDatabaseEntries.length; i++) {
|
for (let i = 0; i < beatenGamesDatabaseEntries.length; i++) {
|
||||||
const game = await checkGameStorageId(beatenGamesDatabaseEntries[i].gameId);
|
const game = await checkGameStorageId(beatenGamesDatabaseEntries[i].gameId);
|
||||||
const json = await getGameJson(String.prototype.concat('where id = ', game.igdb_id, '; fields *;'));
|
gameIds.push(game.igdb_id);
|
||||||
beatGameIGDBEntries.push(json[0]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const genres = [];
|
const beatGameIGDBEntries = await getGameJson(String.prototype.concat(`where id = (${gameIds}); fields *; limit ${gameIds.length};`));
|
||||||
|
|
||||||
const counts = [];
|
const counts = [];
|
||||||
const cachedGenres = new Map();
|
const cachedGenres = new Set();
|
||||||
|
|
||||||
for (let i = 0; i < beatGameIGDBEntries.length; i++) {
|
for (let i = 0; i < beatGameIGDBEntries.length; i++) {
|
||||||
if (beatGameIGDBEntries[i].genres) {
|
if (beatGameIGDBEntries[i].genres) {
|
||||||
for (let j = 0; j < beatGameIGDBEntries[i].genres.length; j++) {
|
for (let j = 0; j < beatGameIGDBEntries[i].genres.length; j++) {
|
||||||
|
cachedGenres.add(beatGameIGDBEntries[i].genres[j]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (cachedGenres.has(beatGameIGDBEntries[i].genres[j]))
|
|
||||||
{
|
const genresinfo = await getGenres([...cachedGenres]);
|
||||||
genres.push(cachedGenres.get(beatGameIGDBEntries[i].genres[j]));
|
|
||||||
}
|
const genres = [];
|
||||||
else
|
|
||||||
{
|
for (let i = 0; i < beatGameIGDBEntries.length; i++) {
|
||||||
const genre = await getGenres(beatGameIGDBEntries[i].genres[j]);
|
if (beatGameIGDBEntries[i].genres) {
|
||||||
cachedGenres.set(beatGameIGDBEntries[i].genres[j], genre);
|
for (let j = 0; j < beatGameIGDBEntries[i].genres.length; j++) {
|
||||||
genres.push(genre);
|
genres.push(genresinfo.find(item => item.id === beatGameIGDBEntries[i].genres[j]).name);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -150,17 +150,17 @@ async function getGenres(id) {
|
|||||||
'Client-ID': `${process.env.igdbClientId}`,
|
'Client-ID': `${process.env.igdbClientId}`,
|
||||||
'Authorization': `Bearer ${process.env.igdbAccessToken}`,
|
'Authorization': `Bearer ${process.env.igdbAccessToken}`,
|
||||||
},
|
},
|
||||||
body: `where id = ${id}; fields *;`,
|
body: `where id = (${id}); fields *; limit ${id.length};`,
|
||||||
})
|
})
|
||||||
.then(response => response.json())
|
.then(response => response.json())
|
||||||
.then(response => {
|
.then(response => {
|
||||||
genre = response[0];
|
genre = response;
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
});
|
});
|
||||||
|
|
||||||
return genre.name;
|
return genre;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getFranchise(id) {
|
async function getFranchise(id) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user