From 5e2c4a85912d9e4be02ca6028eb6d3e13a55a507 Mon Sep 17 00:00:00 2001 From: Daniel Odendahl Jr Date: Thu, 16 Nov 2017 22:30:56 +0000 Subject: [PATCH] Can I please do Dectalk without saving files? PLEASE --- commands/text-edit/dec-talk.js | 25 ++++++------------------- package.json | 2 +- 2 files changed, 7 insertions(+), 20 deletions(-) diff --git a/commands/text-edit/dec-talk.js b/commands/text-edit/dec-talk.js index 691d54b6..c8d8c4b9 100644 --- a/commands/text-edit/dec-talk.js +++ b/commands/text-edit/dec-talk.js @@ -1,8 +1,5 @@ const { Command } = require('discord.js-commando'); const snekfetch = require('snekfetch'); -const path = require('path'); -const { promisifyAll } = require('../../util/Util'); -const fs = promisifyAll(require('fs')); module.exports = class DECTalkCommand extends Command { constructor(client) { @@ -36,28 +33,18 @@ module.exports = class DECTalkCommand extends Command { } if (!channel.joinable) return msg.say('Your voice channel is not joinable.'); if (this.client.voiceConnections.has(channel.guild.id)) return msg.say('I am already playing a sound.'); - const file = path.join(__dirname, '..', '..', 'assets', `dec-talk ${channel.guild.id}.wav`); try { const connection = await channel.join(); - const { body } = await snekfetch - .get('http://tts.cyzon.us/tts') + const data = await snekfetch + .get('http://tts.cyzon.us/tts', { followRedirects: false }) .query({ text }); - await fs.writeFileAsync(file, body, { encoding: 'binary' }); - const dispatcher = connection.playFile(file); - dispatcher.once('end', () => this.finish(file, channel)); - dispatcher.once('error', () => this.finish(file, channel)); + const dispatcher = connection.playArbitraryInput(`http://tts.cyzon.us${data.headers.location}`); + dispatcher.once('end', () => channel.leave()); + dispatcher.once('error', () => channel.leave()); return null; } catch (err) { - await this.finish(file, channel); + channel.leave(); return msg.reply(`Oh no, an error occurred: \`${err.message}\`. Try again later!`); } } - - async finish(file, channel) { - try { - if (fs.existsSync(file)) await fs.unlinkAsync(file); - } finally { - channel.leave(); - } - } }; diff --git a/package.json b/package.json index 1c81df8f..44f8d69b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "xiaobot", - "version": "55.0.0", + "version": "55.0.1", "description": "Your personal server companion.", "main": "XiaoBot.js", "scripts": {