Files
hydra/src/main/events/catalogue/get-random-game.ts
2024-04-14 04:20:27 +01:00

30 lines
767 B
TypeScript

import shuffle from "lodash/shuffle";
import { getRandomSteam250List } from "@main/services";
import { registerEvent } from "../register-event";
import { searchGames, searchRepacks } from "../helpers/search-games";
import { formatName } from "@main/helpers";
const getRandomGame = async (_event: Electron.IpcMainInvokeEvent) => {
return getRandomSteam250List().then(async (games) => {
const shuffledList = shuffle(games);
for (const game of shuffledList) {
const repacks = searchRepacks(formatName(game));
if (repacks.length) {
const results = await searchGames(game);
if (results.length) {
return results[0].objectID;
}
}
}
});
};
registerEvent(getRandomGame, {
name: "getRandomGame",
});