1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
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)
),
];
|