import discord async def execute(bot, params, message): roles = params.get('roles', []) if not roles: # Fallback for single role roles = [params] guild = message.guild created_count = 0 for role_params in roles: role_name = role_params.get('role_name') color = role_params.get('color', '#ffffff') permissions_str = role_params.get('permissions', '') # Parse color try: color = discord.Color(int(color.lstrip('#'), 16)) except ValueError: color = discord.Color.default() # Parse permissions permissions = discord.Permissions() if permissions_str: perm_list = [p.strip() for p in permissions_str.split(',')] for perm in perm_list: if hasattr(discord.Permissions, perm): setattr(permissions, perm, True) try: role = await guild.create_role(name=role_name, color=color, permissions=permissions) created_count += 1 except discord.Forbidden: await message.channel.send(f"Je n'ai pas les permissions pour créer le rôle '{role_name}'.") if created_count > 0: await message.channel.send(f"{created_count} rôle(s) créé(s).")