Beta/commandes/roles/creer.py

36 lines
1.4 KiB
Python
Raw Permalink Normal View History

2026-02-06 22:23:20 +01:00
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')
2026-06-16 17:09:34 +00:00
if not role_name:
await message.channel.send("Nom de rôle requis pour la création.")
continue
2026-02-06 22:23:20 +01:00
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).")