diff --git a/src/fluxer/roles_permissions.py b/src/fluxer/roles_permissions.py index 8832087..8b80a67 100644 --- a/src/fluxer/roles_permissions.py +++ b/src/fluxer/roles_permissions.py @@ -132,8 +132,8 @@ async def sync_permissions(context: MigrationContext, progress_callback: Callabl async def migrate_roles(context: MigrationContext, progress_callback: Callable[[str, int, int], Awaitable[None]] | None = None, force: bool = False) -> list[str]: """Copies roles and their baseline permissions. Returns a list of cloned role names.""" # Sort roles by position to respect Discord hierarchy - roles = sorted(await context.discord_reader.get_roles(), key=lambda r: r.position) - + roles = sorted(await context.discord_reader.get_roles(), key=lambda r: r.position, reverse=True) + if not force: roles = [r for r in roles if not context.state.get_fluxer_role_id(str(r.id))]