first commit

This commit is contained in:
2025-06-21 15:13:58 -05:00
commit 07f75bbd93
37 changed files with 3125 additions and 0 deletions

60
commands/music/skip.js Normal file
View File

@ -0,0 +1,60 @@
const { Client, Interaction, SlashCommandBuilder } = require('discord.js')
const { playFromQueue, queue } = require('../../playback');
const { getVoiceConnection } = require('@discordjs/voice')
async function skipSong(voiceChannel, textChannel) {
const connection = getVoiceConnection(voiceChannel.guild.id)
if (!connection) {
console.log('No active voice connections')
textChannel.send('No active voice connections')
return
}
if (!queue || queue.length === 0) {
console.log('Queue is empty. No songs to skip')
connection.state.subscription.player.stop();
return;
}
try {
queue.shift()
if (queue.length > 0 ) {
const nextSong = queue[0];
await playFromQueue(voiceChannel, textChannel, nextSong.getMember, nextSong.link, nextSong.songName)
} else {
textChannel.send('No more songs in the queue')
}
} catch (error) {
console.error('Error skipping song: ', error)
}
}
module.exports = {
data: new SlashCommandBuilder()
.setName('skip')
.setDescription('Skips a song in the queue'),
async execute(interaction) {
const voiceChannel = interaction.member.voice.channel
const textChannel = interaction.channel
if (!voiceChannel) {
return interaction.reply({
content: 'You need to be in a voice channel to use the command',
ephemeral: true
});
}
try {
await skipSong(voiceChannel, textChannel)
interaction.reply('Skipped the current song')
} catch (error) {
console.error('Error in skip command: ', error)
interaction.reply({
content: 'An error has occurred while processing the command',
ephemeral: true
});
}
}
}