import prompts from 'prompts'; import Creator from './Creator'; import Trivia from './trivia'; import Summary from './Summary'; import Weekly from './Weekly'; import Cashout from './Cashout'; import TopPlayers from './TopPlayers'; import Avatar from './Avatar'; import * as config from './config'; import { LOG_TYPES } from './constants'; const choices = [ { title: 'Play Trivia', select: () => new Trivia().run() }, { title: 'Create Account', select: () => new Creator().run() }, { title: 'Update Weekly Lives', select: () => new Weekly().run() }, { title: 'Change Avatars', select: () => new Avatar().run() }, { title: 'Show Player Summaries', select: () => new Summary().run() }, { title: 'Show Top Players', select: () => new TopPlayers().run() }, { title: 'Cashout', select: () => new Cashout().run() }, ]; const getChoice = async () => { console.log(LOG_TYPES.WARNING('#######################################')); console.log(LOG_TYPES.WARNING('# REMEMBER TO VPN WHILE RUNNING #')); console.log(LOG_TYPES.WARNING('#######################################')); console.log(); console.log('Welcome to Trivia Automation Suite 1.0'); console.log('What would you like to do?\n'); choices.forEach(({ title }, index) => console.log(`${index + 1}) ${title}`)); console.log(); const response = await prompts({ type: 'number', name: 'choice', message: 'Choice:', }); const { choice } = response; if (choice < 1 || choice > choices.length) { console.log('Invalid selection!'); return null; } return choice; }; const main = async () => { const choice = await getChoice(); if (!choice) return; choices[choice - 1].select(); }; main();