Check for dectalk files on startup

This commit is contained in:
Dragon Fire
2024-11-20 22:57:50 -05:00
parent f01c511093
commit 42e8d9ae70
2 changed files with 25 additions and 4 deletions
+24 -3
View File
@@ -36,7 +36,7 @@ const client = new Client({
GatewayIntentBits.MessageContent GatewayIntentBits.MessageContent
] ]
}); });
const { formatNumber, checkFileExists } = require('./util/Util'); const { formatNumber, list, checkFileExists } = require('./util/Util');
client.registry client.registry
.registerDefaultTypes() .registerDefaultTypes()
@@ -78,8 +78,29 @@ client.on('ready', async () => {
// Make temp directories // Make temp directories
const tmpFolderExists = await checkFileExists(path.join(__dirname, 'tmp')); const tmpFolderExists = await checkFileExists(path.join(__dirname, 'tmp'));
if (!tmpFolderExists) await mkdir(path.join(__dirname, 'tmp')); if (!tmpFolderExists) await mkdir(path.join(__dirname, 'tmp'));
const decTalkFolderExists = await checkFileExists(path.join(__dirname, 'tmp', 'dec-talk')); const decTalkTmpFolderExists = await checkFileExists(path.join(__dirname, 'tmp', 'dec-talk'));
if (!decTalkFolderExists) await mkdir(path.join(__dirname, 'tmp', 'dec-talk')); if (!decTalkTmpFolderExists) await mkdir(path.join(__dirname, 'tmp', 'dec-talk'));
// Check for DECTalk files and disable it if not present
const dectalkFolderExists = await checkFileExists(path.join(__dirname, 'dectalk'));
if (dectalkFolderExists) {
const sayExists = await checkFileExists(path.join(__dirname, 'dectalk', 'say.exe'));
const dicExists = await checkFileExists(path.join(__dirname, 'dectalk', 'dtalk_us.dic'));
const dllExists = await checkFileExists(path.join(__dirname, 'dectalk', 'dectalk.dll'));
const msvExists = await checkFileExists(path.join(__dirname, 'dectalk', 'MSVCRTd.DLL'));
if (!sayExists || !dicExists || !dllExists || !msvExists) {
const missing = [];
if (!sayExists) missing.push('say.exe');
if (!dicExists) missing.push('dtalk_us.dic');
if (!dllExists) missing.push('dectalk.dll');
if (!msvExists) missing.push('MSVCRTd.DLL');
client.registry.commands.get('dec-talk').disable();
client.logger.info(`[DISABLED] ${list(missing)} not present in dectalk/ folder. dectalk has been disabled.`);
}
} else {
client.registry.commands.get('dec-talk').disable();
client.logger.info('[DISABLED] No dectalk/ folder. dectalk has been disabled.');
}
// Check for API keys and disable commands that need them if not present // Check for API keys and disable commands that need them if not present
if (!process.env.REDIS_HOST || !process.env.REDIS_PASS) { if (!process.env.REDIS_HOST || !process.env.REDIS_PASS) {
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "xiao", "name": "xiao",
"version": "152.4.4", "version": "152.4.5",
"description": "Your personal server companion.", "description": "Your personal server companion.",
"main": "Xiao.js", "main": "Xiao.js",
"scripts": { "scripts": {