Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

100
Vistas
Bot de música del sistema de votaciones de Discord.js

Estoy creando un sistema de omisión de votos para mi bot de música y hay 2 problemas con él.

Problemas

  • La misma persona puede volver a votar

  • Incluso cuando se alcanza la cantidad de votos requeridos, la canción no salta Aquí está el código

     else if (cmd === "skip") { let queue = distube.getQueue(message.guild.id); let channel = message.member.voice.channel; if (!channel) { return message.channel.send( "You need to Join Voice Channel" ) } if (!queue) { return message.channel.send( "Nothing Playing" ) } if (queue.songs.length < 1){ return message.channel.send("There are no more tracks left. Add some") } channel = message.member.voice.channel if (!channel){ message.channel.send("You must be in a voice channel to skip this song") } var required = Math.ceil(message.member.voice.channel.size/2) if (voteskips.includes(message.member.id)){ message.channel.send("You already voted for skipping this song") } voteskips.push(message.member.id) message.channel.send(`**Votes : ${voteskips.length}/${channel.members.size}** ${required - voteskips.length} more votes needed to skip`) if (voteskips.length >= required){ if (queue.autoplay || queue.songs.length > 1) distube.skip(message) else distube.stop(message) message.channel.send({embeds:[ new Discord.MessageEmbed() .setTitle("Skipped current track") .setColor("LIGHT_GREY") ]}) } }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Cometí un error por descuido. En primer lugar, se supone que la variable requerida es

 var required = Math.ceil(message.member.voice.channel.members.size/2);

El siguiente es que se supone que debo insertar la identificación del autor en la matriz. No simplemente message.member.id . Aquí está el código actualizado.

 else if (cmd === "skip") { let queue = distube.getQueue(message.guild.id); let channel = message.member.voice.channel; let members = Math.ceil(message.member.voice.channel.members.size/2) if (!channel) { return message.channel.send( "You need to Join Voice Channel" ) } if (!queue) { return message.channel.send( "Nothing Playing" ) } if (queue.songs.length < 1){ return message.channel.send("There are no more tracks left. Add some") } if (voteskips.find(id=>id == message.author.id)){ message.channel.send("You have already voted") }else { voteskips.push(message.author.id) message.channel.send(`Votes ${voteskips.length}/${members}. ${members - voteskips.length} more votes to skip.`) } if (voteskips.length === members){ if (queue.autoplay || queue.songs.length > 1){ distube.skip(message) }else distube.stop(message) } }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda