HeliosLauncher/athshield/athshield.js

76 lines
2.5 KiB
JavaScript
Raw Normal View History

const fs = require('fs')
const readline = require('readline')
const path = require('path')
// Chemin vers le fichier de configuration
const configPath = path.join(__dirname, 'variables.athshield')
// Charger les variables depuis le fichier
function loadConfig() {
const rawData = fs.readFileSync(configPath)
return JSON.parse(rawData.toString()) // Convertir Buffer en string
}
// Sauvegarder les variables dans le fichier
function saveConfig(config) {
const data = JSON.stringify(config, null, 2)
fs.writeFileSync(configPath, data)
}
// Création de l'interface readline
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
})
// Fonction pour poser les questions à l'utilisateur
function startCLI() {
const config = loadConfig()
rl.question('Voulez-vous activer Athena\'s Shield ? (oui/non) : ', (answer) => {
if (answer.trim().startsWith('//')) {
console.log('Ceci est un commentaire, la ligne est ignorée.')
rl.close()
return
}
if (answer.toLowerCase() === 'oui') {
config.athenaShieldActivated = true
rl.question('Voulez-vous cacher ou bloquer le menu ? (cacher/bloquer) : ', (menuAnswer) => {
if (menuAnswer.trim().startsWith('//')) {
console.log('Ceci est un commentaire, la ligne est ignorée.')
rl.close()
return
}
if (menuAnswer.toLowerCase() === 'cacher' || menuAnswer.toLowerCase() === 'bloquer') {
config.menuVisibility = menuAnswer.toLowerCase()
console.log(`Athena's Shield activé. Menu ${config.menuVisibility === 'cacher' ? 'caché' : 'bloqué'}.`)
// Sauvegarder la configuration modifiée
saveConfig(config)
rl.close()
} else {
console.log('Option non valide pour le menu.')
rl.close()
}
})
} else if (answer.toLowerCase() === 'non') {
console.log('Athena\'s Shield non activé. Fermeture du CLI.')
config.athenaShieldActivated = false
config.menuVisibility = 'visible' // Remettre la valeur par défaut
// Sauvegarder la configuration modifiée
saveConfig(config)
rl.close()
} else {
console.log('Réponse non valide.')
rl.close()
}
})
}
// Lancer le CLI
startCLI()