This repository has been archived on 2024-04-10. You can view files and clone it, but cannot push or open issues or pull requests.
redgen/config.js

83 lines
2.3 KiB
JavaScript
Executable file

#!/usr/bin/env node
const prompt = require("prompt");
const fs = require("fs");
const base = JSON.parse(fs.readFileSync(`${__dirname}/config.example.json`));
console.log("\nWelcome to the easy config system for REDGEN.\n");
prompt.get({
properties: {
key: {
message: "Please enter your 2Captcha key. If you are confused, read the docs.",
required: true
},
enableProxy: {
message: "Please respond (yes/no | true/false) if you want to enable proxies",
required: true
}
}
}, function(err, res) {
if (err) {
console.log(`An error occurred.\n\n${(err.stack || err.message || err)}`);
process.exit(1);
} else {
base["2c-key"] = res.key;
base["enable-proxies"] = toTF(res.enableProxy);
if (base["enable-proxies"] == true) {
prompt.get({
properties: {
getProxy: {
message: "Please respond (yes/no | true/false) if you want the bot to get proxies for you.",
required: true
},
saveProxies: {
message: "Please respond where you want the bot to save/read the file. Begin your response with '.' if you want to save/read the proxies file in the root of the REDGEN folder.",
required: true
}
}
}, function(err, res) {
if (err) {
console.log(`An error occurred.\n\n${(err.stack || err.message || err)}`);
process.exit(1);
} else {
base["retrieve-proxies"] = toTF(res.getProxy);
base["proxy-file"] = res.saveProxies;
fs.writeFileSync(`${__dirname}/config.json`, JSON.stringify(base, null, 2));
console.log(`\nSaved. Thank you.\n`);
}
})
} else {
if (base["enable-proxies"] == null) {
console.log(`An error occurred.\n\nGave invalid response during "enableProxy" phase.`);
process.exit(1);
}
fs.writeFileSync(`${__dirname}/config.json`, JSON.stringify(base, null, 2));
console.log(`\nSaved. Thank you.\n`);
}
}
});
function toTF(yn) {
switch (yn.toLowerCase()) {
case "y":
case "yes":
case "ye":
case "t":
case "tr":
case "tru":
case "true":
return true;
case "n":
case "no":
case "f":
case "fa":
case "fal":
case "fals":
case "false":
return false;
default:
return null;
}
}