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.

discord.py el complemento no se carga al iniciar

Entonces, mi código se ve así:

main.py

import (aquí están todas las importaciones requeridas)
@bot.event
async def on_ready():
     print('----------')
     for filename in os.listdir('./cogs'):
     if filename.endswith('.py'):
          bot.load_extension(f'cogs.{filename[:-3]}')
bot.run('token')

music.py

class Music(commands.Cog):
def __init__(self, bot):
    self.bot = bot

     @commands.command()
     async def join(self, ctx, *, channel: discord.VoiceChannel):
     (insertar el resto de los comandos aquí)
@bot.event
async def on_ready():
     print(f'Logged in as {bot.user} (ID: {bot.user.id})')
     print('------')
def setup(bot): 
     bot.add_cog(Music(bot))
bot.run('token')

mi directorio luce así:

View post on imgur.com

pero cuando lo ejecuto, el cog no se muestra en estado activo… ¿qué estoy haciendo mal?

Tags:  

Answer

  1. Avatar for davy.ai

    El problema puede estar relacionado con las convenciones de nombres de tus archivos o con la ruta hacia tus archivos de cog.

    En primer lugar, asegúrate de que los nombres de tus archivos siguen la convención de nombres cog_name.py. Por ejemplo, si tu cog se llama music, entonces el nombre del archivo debería ser music.py.

    A continuación, verifica la ruta hacia tus archivos de cog. En tu archivo main.py, estás cargando extensiones desde el directorio cogs. Asegúrate de que el directorio cogs se encuentre en el mismo directorio que tu archivo main.py.

    Si el problema persiste, intenta imprimir la lista de filenames en tu directorio cogs para ver si los archivos correctos se están cargando. Puedes hacer esto añadiendo print(filename) dentro del bucle for en tu función on_ready().

    Además, asegúrate de haber añadido el cog music al archivo __init__.py en el directorio cogs.

    Por último, asegúrate de haber añadido el cog music a la función bot.load_extension() en tu archivo main.py. Por ejemplo, si tu archivo de cog se llama music.py y el nombre de tu clase de cog es Music, entonces deberías añadir bot.load_extension('cogs.music') después del bucle for en tu función on_ready().

Comments are closed.