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.

El bot de Pycord no cambiará el color del rol.

El problema

Estoy creando un bot utilizando Pycord, con un comando que cambia el color de un rol. El comando toma dos argumentos: el ID del rol y el color al que se cambiará el rol.
Aquí está mi código:

@bot.command()
async def colorChange(ctx, roleID: int, roleColor: discord.Color):
role = ctx.guild.get_role(roleID)
await role.edit(color=roleColor)

Sin embargo, cuando ejecuto el comando de esta manera:

b?colorChange 917642721018142720 Blue

Simplemente no hace nada, no hay ningún error ni nada.

Lo que he intentado

Para determinar si el código realmente se está ejecutando, agregué esto debajo:

await ctx.send('Hola mundo')

Y esto se ejecuta perfectamente bien, y el bot envía un mensaje que dice Hola mundo.
Pero el color del rol aún no se cambia.
También he intentado:
– Verificar si el ID del rol es válido y usar diferentes colores.
– Eliminar el argumento roleColor en sí mismo, y simplemente cambiar el rol dado a Azul

Pero nada funciona.
¿Alguien puede ayudar, por favor?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Posible solución

    Este problema podría ser causado por el uso del argumento de color en el comando. La clase discord.Color espera un formato de entrada específico, que podría no ser proporcionado en el comando.

    Para solucionar esto, intenta usar la función discord.ColourConverter() en lugar de la clase discord.Color, de esta forma:

    @bot.command()
    async def colorChange(ctx, roleID: int, roleColor: discord.ColourConverter()):
        role = ctx.guild.get_role(roleID)
        await role.edit(color=roleColor)
    

    Además, asegúrate de que la entrada de color esté en el formato 0xRRGGBB o #RRGGBB, donde R, G y B son los valores de los componentes rojo, verde y azul del color.

    Intenta ejecutar el comando nuevamente con esta modificación y verifica si funciona. Si esto no funciona, verifica si el bot tiene los permisos necesarios para editar roles en el servidor.

Comments are closed.