summaryrefslogtreecommitdiff
path: root/src/commands/definitions.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/definitions.js')
-rw-r--r--src/commands/definitions.js89
1 files changed, 89 insertions, 0 deletions
diff --git a/src/commands/definitions.js b/src/commands/definitions.js
new file mode 100644
index 0000000..626fcc6
--- /dev/null
+++ b/src/commands/definitions.js
@@ -0,0 +1,89 @@
+const { SlashCommandBuilder } = require('discord.js');
+
+module.exports = [
+ new SlashCommandBuilder()
+ .setName('play')
+ .setDescription('Play music from YouTube')
+ .addStringOption(option =>
+ option.setName('query')
+ .setDescription('YouTube URL or search query')
+ .setRequired(true)
+ ),
+ new SlashCommandBuilder()
+ .setName('pause')
+ .setDescription('Pause the current song'),
+ new SlashCommandBuilder()
+ .setName('resume')
+ .setDescription('Resume the paused song'),
+ new SlashCommandBuilder()
+ .setName('skip')
+ .setDescription('Skip the current song'),
+ new SlashCommandBuilder()
+ .setName('clear')
+ .setDescription('Clear the entire queue'),
+ new SlashCommandBuilder()
+ .setName('loop')
+ .setDescription('Toggle loop mode')
+ .addStringOption(option =>
+ option.setName('mode')
+ .setDescription('Loop mode')
+ .setRequired(false)
+ .addChoices(
+ { name: 'Off', value: 'off' },
+ { name: 'Song', value: 'song' },
+ { name: 'Queue', value: 'queue' }
+ )
+ ),
+ new SlashCommandBuilder()
+ .setName('quit')
+ .setDescription('Leave the voice channel'),
+ new SlashCommandBuilder()
+ .setName('queue')
+ .setDescription('Show the music queue'),
+ new SlashCommandBuilder()
+ .setName('volume')
+ .setDescription('Adjust volume')
+ .addSubcommand(subcommand =>
+ subcommand
+ .setName('set')
+ .setDescription('Set volume to a specific value')
+ .addIntegerOption(option =>
+ option.setName('value')
+ .setDescription('Volume (0-100)')
+ .setRequired(true)
+ .setMinValue(0)
+ .setMaxValue(100)
+ )
+ )
+ .addSubcommand(subcommand =>
+ subcommand
+ .setName('inc')
+ .setDescription('Increase volume')
+ .addIntegerOption(option =>
+ option.setName('amount')
+ .setDescription('Amount to increase (default: 10)')
+ .setMinValue(1)
+ .setMaxValue(100)
+ )
+ )
+ .addSubcommand(subcommand =>
+ subcommand
+ .setName('dec')
+ .setDescription('Decrease volume')
+ .addIntegerOption(option =>
+ option.setName('amount')
+ .setDescription('Amount to decrease (default: 10)')
+ .setMinValue(1)
+ .setMaxValue(100)
+ )
+ ),
+ new SlashCommandBuilder()
+ .setName('seek')
+ .setDescription('Skip forward or backward in the current song')
+ .addIntegerOption(option =>
+ option.setName('seconds')
+ .setDescription('Seconds to skip (use negative to go back)')
+ .setRequired(true)
+ ),
+
+];