diff options
Diffstat (limited to 'src/handlers/volumeCommand.js')
| -rw-r--r-- | src/handlers/volumeCommand.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/handlers/volumeCommand.js b/src/handlers/volumeCommand.js new file mode 100644 index 0000000..dbd99de --- /dev/null +++ b/src/handlers/volumeCommand.js @@ -0,0 +1,28 @@ +const { setQueueVolume } = require('../utils/player'); +const { getQueueOrReply } = require('../utils/helpers'); + +function handleVolume(interaction, queues) { + const queue = getQueueOrReply(interaction, queues, 'Nothing is playing!'); + if (!queue) return; + + const subcommand = interaction.options.getSubcommand(); + + if (subcommand === 'set') { + const value = interaction.options.getInteger('value'); + if (value < 0 || value > 100) { + return interaction.reply('Volume must be between 0 and 100!'); + } + setQueueVolume(queue, value); + interaction.reply(`Volume set to ${value}%`); + } else if (subcommand === 'inc') { + const amount = interaction.options.getInteger('amount') || 10; + const newVolume = setQueueVolume(queue, queue.volume + amount); + interaction.reply(`Volume increased to ${newVolume}%`); + } else if (subcommand === 'dec') { + const amount = interaction.options.getInteger('amount') || 10; + const newVolume = setQueueVolume(queue, queue.volume - amount); + interaction.reply(`Volume decreased to ${newVolume}%`); + } +} + +module.exports = { handleVolume }; |
