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.

“No existe tal archivo o directorio” discord.py – El archivo no se encontró no está funcionando.

Estoy tratando de hacer un bot de Discord con funciones de sonido (como una tabla de sonidos). El comando debería reproducir un sonido, que el usuario escribe en el comando. Si el sonido no existe, debería enviar un mensaje de que no existe. Pero si se produce el error lib/media/sounds/foo.mp3: No such file or directory, no reacciona ni envía un mensaje.


@bot.command()
@commands.cooldown(1,5,commands.BucketType.user)
async def sound(ctx, sound : str):
await done(ctx)
user = ctx.message.author
if user.voice is None:
await ctx.send("No estás en un canal de voz")
add_log('el usuario no está en un canal de voz', cat=err)
voiceChannel = user.voice.channel
voice = discord.utils.get(bot.voice_clients, guild=ctx.guild)
if voice is None:
await voiceChannel.connect()
add_log('conectado a: ' + str(voiceChannel), cat=i)
voice = discord.utils.get(bot.voice_clients, guild=ctx.guild)
try:
voice.play(discord.FFmpegPCMAudio(f"lib/media/sounds/{sound}.mp3"))
except FileNotFoundError:
await ctx.send("¡Este sonido no existe!")

Espero que esa sea suficiente información.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El fragmento de código proporcionado parece ser una implementación válida para la funcionalidad deseada del bot de la tabla de sonidos.

    El comando sound toma un argumento de tipo cadena llamado sound, que debería corresponder al nombre del archivo de sonido en el directorio lib/media/sounds/.

    El comando verifica si el usuario que lo invoca está en un canal de voz y se conecta a él si aún no está conectado. Luego intenta reproducir el archivo de sonido especificado utilizando voice.play().

    Si el archivo de sonido especificado no existe, el código capturará la excepción FileNotFoundError y enviará un mensaje diciendo que el sonido no existe.

    Sin embargo, no está claro por qué el código no reacciona ni envía un mensaje cuando ocurre el error lib/media/sounds/foo.mp3: No such file or directory. El fragmento de código solo captura la excepción FileNotFoundError, por lo que debería enviar el mensaje si esa excepción se produce.

    En general, el código parece ser un buen punto de partida para construir un bot de tabla de sonidos en Discord.

Comments are closed.