DiscordTickets/scripts/preinstall.js
2022-10-22 21:16:50 +01:00

25 lines
806 B
JavaScript

const { randomBytes } = require('crypto');
const fs = require('fs');
const env = {
DB_CONNECTION_URL: '',
DB_PROVIDER: '', // don't default to sqlite, postinstall checks if empty
DISCORD_SECRET: '',
DISCORD_TOKEN: '',
ENCRYPTION_KEY: randomBytes(24).toString('hex'),
HTTP_BIND: 8080,
HTTP_EXTERNAL: 'http://localhost:8080',
PORTAL: '',
PUBLIC_BOT: false,
SETTINGS_BIND: 8888,
SUPER: '319467558166069248',
};
// check DISCORD_TOKEN because we don't want to force use of the .env file
if (!process.env.DISCORD_TOKEN && !fs.existsSync('./.env')) {
console.log('[preinstall] Generating ENCRYPTION_KEY');
fs.writeFileSync('./.env', Object.entries(env).map(([k, v]) => `${k}=${v}`).join('\n'));
console.log('[preinstall] Created .env file');
} else {
console.log('[preinstall] Nothing to do');
}