diff --git a/commands/fun/tts/dectalk.js b/commands/fun/tts/dectalk.js index 68042c9..78d1bb2 100644 --- a/commands/fun/tts/dectalk.js +++ b/commands/fun/tts/dectalk.js @@ -1,6 +1,7 @@ const { Command } = require('discord-akairo'); const util = require('util'); const exec = util.promisify(require('child_process').exec); +const os = require('os'); const rand = require('../../../rand.js'); class dectalkCommand extends Command { @@ -28,25 +29,24 @@ class dectalkCommand extends Command { } async exec(message, args) { + let output = `${os.tmpdir()}/${message.id}_dectalk.wav`; args.decMessage = rand.random(args.decMessage, message); args.decMessage = args.decMessage.replace('\n', ' '); let decMessage = '[:phoneme on] ' + args.decMessage.replace(/(["'$`\\])/g,'\\$1'); - console.log(decMessage); - if (process.platform == 'win32') { - exec(`cd .\\dectalk && .\\say.exe -w dectalk.wav "${decMessage}"`) + exec(`cd .\\dectalk && .\\say.exe -w ${output} "${decMessage}"`) .catch(err => { console.error(err); return message.channel.send('Oh no! an error has occured!'); }) .then(() => { - return message.channel.send({files: ['./dectalk/dectalk.wav']}); + return message.channel.send({files: [output]}); }); } else if (process.platform == 'linux' || process.platform == 'darwin') { let loadingmsg = await message.channel.send('Processing ( this can take some time ) '); - exec(`cd dectalk && DISPLAY=:0.0 wine say.exe -w dectalk.wav "${decMessage}"`) + exec(`cd dectalk && DISPLAY=:0.0 wine say.exe -w ${output} "${decMessage}"`) .catch(err => { loadingmsg.delete(); console.error(err); @@ -54,7 +54,7 @@ class dectalkCommand extends Command { }) .then(() => { loadingmsg.delete(); - return message.channel.send({files: ['./dectalk/dectalk.wav']}); + return message.channel.send({files: [output]}); }); } } diff --git a/commands/fun/tts/dectalkvc.js b/commands/fun/tts/dectalkvc.js index 50130f2..167785c 100644 --- a/commands/fun/tts/dectalkvc.js +++ b/commands/fun/tts/dectalkvc.js @@ -1,6 +1,7 @@ const { Command } = require('discord-akairo'); const util = require('util'); const exec = util.promisify(require('child_process').exec); +const os = require('os'); const rand = require('../../../rand.js'); class dectalkvcCommand extends Command { @@ -28,12 +29,13 @@ class dectalkvcCommand extends Command { } async exec(message, args) { + let output = `${os.tmpdir()}/${message.id}_dectalk.wav`; args.decMessage = rand.random(args.decMessage, message); args.decMessage = args.decMessage.replace('\n', ' '); let decMessage = '[:phoneme on] ' + args.decMessage.replace(/(["'$`\\])/g,'\\$1'); if (process.platform == 'win32') { - exec(`cd .\\dectalk && .\\say.exe -w dectalkvc.wav "${decMessage}"`) + exec(`cd .\\dectalk && .\\say.exe -w ${output} "${decMessage}"`) .catch(err => { console.error(err); return message.channel.send('Oh no! an error has occured!'); @@ -43,7 +45,7 @@ class dectalkvcCommand extends Command { if (!voiceChannel) return message.channel.send('Please enter a voice channel first.'); try { const connection = await voiceChannel.join(); - const dispatcher = connection.play('./dectalk/dectalk.wav'); + const dispatcher = connection.play(output); dispatcher.once('finish', () => voiceChannel.leave()); dispatcher.once('error', () => voiceChannel.leave()); return null; @@ -56,7 +58,7 @@ class dectalkvcCommand extends Command { } else if (process.platform == 'linux' || process.platform == 'darwin') { let loadingmsg = await message.channel.send('Processing ( this can take some time ) '); - exec(`cd dectalk && DISPLAY=:0.0 wine say.exe -w dectalkvc.wav "${decMessage}"`) + exec(`cd dectalk && DISPLAY=:0.0 wine say.exe -w ${output} "${decMessage}"`) .catch(err => { loadingmsg.delete(); console.error(err); @@ -68,7 +70,7 @@ class dectalkvcCommand extends Command { try { loadingmsg.delete(); const connection = await voiceChannel.join(); - const dispatcher = connection.play('./dectalk/dectalkvc.wav'); + const dispatcher = connection.play(output); dispatcher.once('finish', () => voiceChannel.leave()); dispatcher.once('error', () => voiceChannel.leave()); return null;