UNPKG

zkyc

Version:

Discord command handler.

87 lines (83 loc) 4.53 kB
#!/usr/bin/env node const prompts = require("prompts"); const fs = require("fs"); const path = require("path"); const generate = require("./templateGenerator.js"); const generateProject = require("./projectGenerator.js"); const { selection, projectName, commandName, templates, prefix, defaultPrefix, botToken, commandDescription, events } = require("./utils/questions.js"); let answersOptions, answersProjectName, answersTemplate, answersCommandName, answersNewEvent, answersPrefix, answersDefaultPrefix, answersBotToken, answersCommandDescription; let zkycConfigData (async () => { await prompts(selection).then(answers => { answersOptions = answers; }); if (answersOptions.selection == "newProject") { prompts(projectName).then(answers => { answersProjectName = answers; prompts(templates).then(answers => { answersTemplate = answers; if (answersTemplate.templates == 0) { prompts(prefix).then(answers => { answersPrefix = answers; prompts(botToken).then(answers => { answersBotToken = answers; const projectDir = path.join(process.cwd(), answersProjectName.projectName); const projectName = answersProjectName.projectName; const projectTemplate = answersTemplate.templates; const projectToken = answersBotToken.token; const projectPrefix = answersPrefix.prefix; generateProject.generateNoneTemplate(projectDir, projectName, projectTemplate, projectToken, projectPrefix); }); }); } else if (answersTemplate.templates == 1) { prompts(defaultPrefix).then(answers => { answersDefaultPrefix = answers; prompts(botToken).then(answers => { answersBotToken = answers; const projectDir = path.join(process.cwd(), answersProjectName.projectName); const projectName = answersProjectName.projectName; const projectTemplate = answersTemplate.templates; const projectToken = answersBotToken.token; const projectDefaultPrefix = answersDefaultPrefix.defaultPrefix; generateProject.generatePerServerPrefixTemplate(projectDir, projectName, projectTemplate, projectToken, projectDefaultPrefix); }); }); } else if (answersTemplate.templates == 2) { console.log("This feature is not done yet."); } }) }); } else if (answersOptions.selection == "newCommand") { prompts(commandName).then(answers => { answersCommandName = answers; prompts(commandDescription).then(answers => { answersCommandDescription = answers; const zkycConfigPath = path.join(process.cwd(), "zkyc.json"); fs.exists(zkycConfigPath, (exists) => { if (exists) { const projectPath = process.cwd(); const name = answersCommandName.commandName; const description = answersCommandDescription.commandDescription; generate.generateCommand(projectPath, name, description); } else { console.log("You need to be in a zkyc project to generate a command."); } }) }) }); } else if (answersOptions.selection == "newEvent") { prompts(events).then(answers => { answersNewEvent = answers; const zkycConfigPath = path.join(process.cwd(), "zkyc.json"); fs.exists(zkycConfigPath, (exists) => { if (exists) { const projectPath = process.cwd(); const name = answersNewEvent.events; generate.generateEvent(projectPath, name); } else { console.log("You need to be in a zkyc project to generate a command."); } }) }); }; })();