From 91bf51f6950f1203c1840fe203ae00f4ed1a4be2 Mon Sep 17 00:00:00 2001 From: naseif Date: Thu, 4 Nov 2021 06:50:40 +0000 Subject: [PATCH] [Fix] commands can only be used if the message author is in the same channel as the bot --- commands/Music/clear.js | 27 +++++++++++++++++++++++++++ commands/Music/jump.js | 28 ++++++++++++++++++++++++++++ commands/Music/pause.js | 27 +++++++++++++++++++++++++++ commands/Music/resume.js | 27 +++++++++++++++++++++++++++ commands/Music/skip.js | 14 ++++++++++++++ commands/Music/stop.js | 27 +++++++++++++++++++++++++++ package-lock.json | 4 ++-- 7 files changed, 152 insertions(+), 2 deletions(-) diff --git a/commands/Music/clear.js b/commands/Music/clear.js index fa95306..67a8e01 100644 --- a/commands/Music/clear.js +++ b/commands/Music/clear.js @@ -10,6 +10,19 @@ module.exports = { async run(message, args, client) { const queue = client.player.getQueue(message.guild); + if ( + message.guild.me.voice.channelId && + message.member.voice.channelId !== message.guild.me.voice.channelId + ) + return await message.channel.send({ + embeds: [ + embedMessage( + "#9dcc37", + `❌ | You must be in my voice channel to clear the queue!` + ), + ], + }); + if (!queue) { return await message.channel.send({ embeds: [ @@ -71,6 +84,20 @@ module.exports = { await interaction.deferReply(); const queue = client.player.getQueue(interaction.guild); + if ( + interaction.guild.me.voice.channelId && + interaction.member.voice.channelId !== + interaction.guild.me.voice.channelId + ) + return await interaction.followUp({ + embeds: [ + embedMessage( + "#9dcc37", + `❌ | You must be in my voice channel to clear the queue!` + ), + ], + }); + if (!queue) { return await interaction.followUp({ embeds: [ diff --git a/commands/Music/jump.js b/commands/Music/jump.js index 19e5442..f7c92e0 100644 --- a/commands/Music/jump.js +++ b/commands/Music/jump.js @@ -9,6 +9,19 @@ module.exports = { async run(message, args, client) { const queue = client.player.getQueue(message.guild); + if ( + message.guild.me.voice.channelId && + message.member.voice.channelId !== message.guild.me.voice.channelId + ) + return await message.channel.send({ + embeds: [ + embedMessage( + "#9dcc37", + `❌ | You must be in my voice channel to jump to a new song!` + ), + ], + }); + if (!queue || !queue.playing) return await message.channel.send({ embeds: [ @@ -75,6 +88,21 @@ module.exports = { await interaction.deferReply(); const queue = client.player.getQueue(interaction.guild); const position = interaction.options.getInteger("position"); + + if ( + interaction.guild.me.voice.channelId && + interaction.member.voice.channelId !== + interaction.guild.me.voice.channelId + ) + return await interaction.followUp({ + embeds: [ + embedMessage( + "#9dcc37", + `❌ | You must be in my voice channel to jump to a new song!` + ), + ], + }); + if (!queue || !queue.playing) return await interaction.followUp({ embeds: [ diff --git a/commands/Music/pause.js b/commands/Music/pause.js index 48030e8..efd2671 100644 --- a/commands/Music/pause.js +++ b/commands/Music/pause.js @@ -9,6 +9,19 @@ module.exports = { async run(message, args, client) { const queue = client.player.getQueue(message.guild); + if ( + message.guild.me.voice.channelId && + message.member.voice.channelId !== message.guild.me.voice.channelId + ) + return await message.channel.send({ + embeds: [ + embedMessage( + "#9dcc37", + `❌ | You must be in my voice channel to pause the current song!` + ), + ], + }); + if (!queue || !queue.playing) return await message.channel.send({ embeds: [ @@ -63,6 +76,20 @@ module.exports = { await interaction.deferReply(); const queue = client.player.getQueue(interaction.guild); + if ( + interaction.guild.me.voice.channelId && + interaction.member.voice.channelId !== + interaction.guild.me.voice.channelId + ) + return await interaction.followUp({ + embeds: [ + embedMessage( + "#9dcc37", + `❌ | You must be in my voice channel to pause the current song!` + ), + ], + }); + if (!queue || !queue.playing) return await interaction.followUp({ embeds: [ diff --git a/commands/Music/resume.js b/commands/Music/resume.js index 845c78f..4a490d2 100644 --- a/commands/Music/resume.js +++ b/commands/Music/resume.js @@ -10,6 +10,19 @@ module.exports = { async run(message, args, client) { const queue = client.player.getQueue(message.guild); + if ( + message.guild.me.voice.channelId && + message.member.voice.channelId !== message.guild.me.voice.channelId + ) + return await message.channel.send({ + embeds: [ + embedMessage( + "#9dcc37", + `❌ | You must be in my voice channel to resume the current song!` + ), + ], + }); + if (!queue || !queue.playing) return await message.channel.send({ embeds: [ @@ -66,6 +79,20 @@ module.exports = { await interaction.deferReply(); const queue = client.player.getQueue(interaction.guild); + if ( + interaction.guild.me.voice.channelId && + interaction.member.voice.channelId !== + interaction.guild.me.voice.channelId + ) + return await interaction.followUp({ + embeds: [ + embedMessage( + "#9dcc37", + `❌ | You must be in my voice channel to resume the current song!` + ), + ], + }); + if (!queue || !queue.playing) return await interaction.followUp({ embeds: [ diff --git a/commands/Music/skip.js b/commands/Music/skip.js index 2124d73..40c5662 100644 --- a/commands/Music/skip.js +++ b/commands/Music/skip.js @@ -77,6 +77,20 @@ module.exports = { await interaction.deferReply(); const queue = client.player.getQueue(interaction.guild); + if ( + interaction.guild.me.voice.channelId && + interaction.member.voice.channelId !== + interaction.guild.me.voice.channelId + ) + return await interaction.followUp({ + embeds: [ + embedMessage( + "#9dcc37", + `❌ | You must be in my voice channel to skip the current song!` + ), + ], + }); + if (!queue || !queue.playing) return await interaction.followUp({ embeds: [ diff --git a/commands/Music/stop.js b/commands/Music/stop.js index a19580d..5e1c935 100644 --- a/commands/Music/stop.js +++ b/commands/Music/stop.js @@ -9,6 +9,19 @@ module.exports = { async run(message, args, client) { const queue = client.player.getQueue(message.guild); + if ( + message.guild.me.voice.channelId && + message.member.voice.channelId !== message.guild.me.voice.channelId + ) + return await message.channel.send({ + embeds: [ + embedMessage( + "#9dcc37", + `❌ | You must be in my voice channel to stop the queue!` + ), + ], + }); + if (!queue || !queue.playing) { return await message.channel.send({ embeds: [ @@ -63,6 +76,20 @@ module.exports = { const queue = client.player.getQueue(interaction.guild); await interaction.deferReply(); + if ( + interaction.guild.me.voice.channelId && + interaction.member.voice.channelId !== + interaction.guild.me.voice.channelId + ) + return await interaction.followUp({ + embeds: [ + embedMessage( + "#9dcc37", + `❌ | You must be in my voice channel to stop the queue!` + ), + ], + }); + if (!queue || !queue.playing) { return await interaction.followUp({ embeds: [ diff --git a/package-lock.json b/package-lock.json index 1b4c729..4bc1bce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "eyesense-music-bot", - "version": "10.0.0", + "version": "11.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "eyesense-music-bot", - "version": "10.0.0", + "version": "11.0.0", "license": "ISC", "dependencies": { "@discordjs/builders": "^0.6.0",