From 631e312fe342730783dade0e61c15afc585dfa62 Mon Sep 17 00:00:00 2001 From: Daniel Odendahl Jr Date: Sat, 9 Sep 2017 01:20:16 +0000 Subject: [PATCH] Catch errors in soundboard --- commands/random/soundboard.js | 25 +++++++++++-------------- package.json | 2 +- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/commands/random/soundboard.js b/commands/random/soundboard.js index 645437dc..c68fce66 100644 --- a/commands/random/soundboard.js +++ b/commands/random/soundboard.js @@ -17,7 +17,6 @@ module.exports = class SoundboardCommand extends Command { usages: 1, duration: 30 }, - clientPermissions: ['ADD_REACTIONS'], args: [ { key: 'sound', @@ -41,19 +40,17 @@ module.exports = class SoundboardCommand extends Command { if (!channel.permissionsFor(this.client.user).has(['CONNECT', 'SPEAK'])) { return msg.say('Missing the "Connect" or "Speak" permission for the voice channel.'); } - if (!channel.joinable) return msg.say('Your Voice Channel is not joinable.'); + 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 connection = await channel.join(); - await msg.react('🔊'); - const dispatcher = connection.playFile(path.join(__dirname, '..', '..', 'assets', 'sounds', `${sound}.mp3`)); - dispatcher.once('end', () => { - channel.leave(); - msg.react('✅'); - }); - dispatcher.once('error', () => { - channel.leave(); - msg.react('⚠'); - }); - return null; + try { + const connection = await channel.join(); + const dispatcher = connection.playFile(path.join(__dirname, '..', '..', 'assets', 'sounds', `${sound}.mp3`)); + dispatcher.once('end', () => channel.leave()); + dispatcher.once('error', () => channel.leave()); + return null; + } catch (err) { + await channel.leave(); + return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`); + } } }; diff --git a/package.json b/package.json index 04a2ebf7..b9996195 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "xiaobot", - "version": "38.0.0", + "version": "38.0.1", "description": "Your personal server companion.", "main": "Shard.js", "scripts": {