es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Bot de Discord.js 13 no reproduce archivo mp3 local.

No puedo entender por qué mi bot no reproduce música.
Este es mi código.

if (command === 'song') {
    const player = createAudioPlayer();

    joinVoiceChannel({
        channelId: message.member.voice.channel.id,
        guildId: message.guild.id,
        adapterCreator: message.guild.voiceAdapterCreator
    }).subscribe(player);

    message.guild.me.voice.setRequestToSpeak(true);
    const resource = createAudioResource('music/song.mp3');
    player.play(resource);
}

Estoy usando Discordjs 13, he instalado todos los módulos necesarios… el bot se une al canal de voz pero no reproduce la canción en mi carpeta local. Edit: La consola no muestra errores, el bot tiene permisos de administrador y no está silenciado ni sordo.

Edit 2:
Este es el informe que obtuve de la consola al usar generateDependenciesReport()

--------------------------------------------------
Dependencias principales
- @discordjs/voice: 0.7.4
- prism-media: 1.3.2

Bibliotecas Opus
- @discordjs/opus: 0.5.3
- opusscript: no encontrado

Bibliotecas de encriptación
- sodium: no encontrado
- libsodium-wrappers: 0.7.9
- tweetnacl: no encontrado

FFmpeg
- versión: 4.4.1-essentials_build-www.gyan.dev
- libopus: sí
--------------------------------------------------

Y creo que todo está bien, pero el bot aún no reproduce música.

Edit 3:
He editado mi código a esto

if (!message.member.voice.channel) {
    return;
} else if (message.member.voice.channel) {
    const connection = joinVoiceChannel({
        channelId: message.member.voice.channel.id,
        guildId: message.guild.id,
        adapterCreator: message.guild.voiceAdapterCreator
    });

    const player = createAudioPlayer();
    const resource = createAudioResource('./music/song.mp3');
    // reproducir el recurso de la canción
    player.play(resource);
    connection.subscribe(player);
}

Aún no hay errores en la consola, el bot se une al canal de voz pero no reproduce el archivo .mp3. ¿Alguna idea?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Según la información proporcionada, parece que el problema puede estar en la ruta del archivo de música.

    En el código original, la ruta se establece como 'music/song.mp3'. Sin embargo, en el código editado, la ruta se establece como './music/song.mp3'. La adición de ./ especifica que el archivo se encuentra en el directorio de trabajo actual.

    Si el archivo de música no se encuentra en el directorio de trabajo actual, el bot no podrá acceder a él. En este caso, puede ser útil especificar la ruta completa del archivo de música, utilizando ya sea una ruta absoluta o una ruta relativa desde el directorio donde se encuentra el script del bot.

    Por ejemplo, si el archivo de música se encuentra en un directorio llamado music que está ubicado en el mismo directorio que el script del bot, la ruta podría establecerse como './music/song.mp3'. Sin embargo, si el archivo de música se encuentra en un directorio diferente, es posible que la ruta deba ajustarse en consecuencia.

    Además, puede ser útil agregar algunas declaraciones de console.log al código para depurar más y confirmar que el código se está ejecutando como se espera.

Comments are closed.