F95API/test/user-test.js

57 lines
1.6 KiB
JavaScript
Raw Normal View History

2020-10-31 15:00:26 +00:00
"use strict";
2020-09-29 15:11:43 +00:00
// Public modules from npm
const dotenv = require("dotenv");
2020-10-31 15:00:26 +00:00
// Modules from file
const searcher = require("../app/scripts/searcher.js");
const scraper = require("../app/scripts/scraper.js");
const Credentials = require("../app/scripts/classes/credentials.js");
const networkHelper = require("../app/scripts/network-helper.js");
// Configure the .env reader
dotenv.config();
2020-09-29 15:11:43 +00:00
// Login
auth().then(async function searchGames(result) {
if(!result) return;
2020-09-29 15:11:43 +00:00
// Search for Kingdom Of Deception data
await search("kingdom of deception");
// Search for Perverted Education data
await search("perverted education");
// Search for Corrupted Kingdoms data
await search("corrupted kingdoms");
// Search for Summertime Saga data
await search("summertime saga");
});
async function auth() {
console.log("Token fetch...");
const creds = new Credentials(process.env.F95_USERNAME, process.env.F95_PASSWORD);
await creds.fetchToken();
console.log(`Token obtained: ${creds.token}`);
console.log("Authenticating...");
const result = await networkHelper.autenticate(creds);
console.log(`Authentication result: ${result.message}`);
return result.success;
}
async function search(gamename) {
console.log(`Searching '${gamename}'...`);
const urls = await searcher.searchGame(gamename);
2020-10-31 15:00:26 +00:00
console.log(`Found: ${urls}`);
console.log("Scraping data...");
for (const url of urls) {
const gamedata = await scraper.getGameInfo(url);
console.log(`Found ${gamedata.name} (${gamedata.version}) by ${gamedata.author}`);
2020-10-29 21:14:40 +00:00
}
2020-10-31 15:00:26 +00:00
console.log("Scraping completed!");
}