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

663
Vistas
Actualización de Discord Bot: ¿Cómo reproducir audio?

Recientemente, salió la nueva versión de la API del bot de discordia para Node junto con las interacciones y todo eso. Y también cambiaron algunas otras cosas, no sé por qué. pero lo hicieron.

Estaba tratando de probar el código de reproducción de audio para ver cómo funciona y tal vez actualizar algunos de mis bots más antiguos, cuando me encontré con el problema de que simplemente no funciona. He estado siguiendo los documentos enhttps://discordjs.guide/voice/voice-connections.html#life-cycle y https://discordjs.guide/voice/audio-player.html#life-cycle pero realmente no funciona.

Solo probando el código se ve así:

 const Discord = require('discord.js'); const {token} = require("./config.json"); const { join } = require("path"); const {joinVoiceChannel, createAudioPlayer, createAudioResource, AudioPlayerStatus, VoiceConnectionStatus, SubscriptionStatus, StreamType } = require("@discordjs/voice"); client.on("ready", async () => { const connection = joinVoiceChannel({ channelId: channel.id, guildId: channel.guild.id, adapterCreator: channel.guild.voiceAdapterCreator, }); const audioPlayer = createAudioPlayer(); const resource = createAudioResource(createReadStream(join(__dirname, "plswork.mp3"))); const subscription = connection.subscribe(audioPlayer); audioPlayer.play(resource); audioPlayer.on(AudioPlayerStatus.Playing, () => { console.log("currently playing"); console.log("resource started:", resource.started); }); audioPlayer.on('error', error => { console.error(`Error: ${error.message} with resource ${error.resource.metadata.title}`); }); audioPlayer.on(AudioPlayerStatus.AutoPaused, () => { console.log("done?"); });

Creo una conexión, un reproductor de audio y un recurso, pero después de suscribir la conexión al reproductor de audio y reproducir el recurso, no se reproduce ningún audio, no aparece ningún error (en AudioPlayer.on("error"...) ) y el estado AutoPaused es inmediatamente llamó.

Al iniciar sesión en el recurso, veo que resource.playbackDuration es 0, pero no sé cómo solucionarlo, ya que no puedo encontrar mucho en Internet sobre este tema.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Por lo que puedo decir al mirar su código, no necesita el json correcto de @discordjs/voice , debe requerir al menos AudioPlayerStatus y createAudioPlayer . Además, según su resource , creo que está tratando de crear un AudioResource , por lo que también lo necesitará. Necesitarás algo como:

 const { AudioPlayerStatus, createAudioPlayer, AudioResource, StreamType } = require('@discordjs/voice'); /* */ const audioPlayer = createAudioPlayer(); /* */ audioPlayer.play(resource); audioPlayer.on(AudioPlayerStatus.Playing, () => { // Do whatever you need to do when playing }); /* */

En conclusión, le sugiero que consulte el ciclo de vida de un AudioPlayer y la creación de un AudioPlayer . Asegúrese, también, de crear correctamente su resource , aquí encontrará la documentación de AudioResource si alguna vez la necesita.

over 4 years ago · Santiago Trujillo 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