> ## Documentation Index
> Fetch the complete documentation index at: https://wiki.petto.sbs/llms.txt
> Use this file to discover all available pages before exploring further.

# Comandos de cargos e cargos em massa

> Dê, tire e gerencie cargos com /role, dê um cargo a muitos membros de uma vez com prévia, cartão de progresso, pausa e cancelamento, e faça o mesmo pela página Cargos do dashboard.

## Visão geral

`/role` (e `!role`) gerencia cargos um a um e em massa. Precisa de **Gerenciar cargos**, os subcomandos em massa precisam de **Administrador**, e o cargo do Petto precisa estar acima de cada cargo que ele dá ou tira ([permissões e hierarquia](https://wiki.petto.sbs/pt-br/concepts/permissions-and-hierarchy.md)). Ninguém pode dar os cargos que uma integração gerencia nem `@everyone`.

```javascript Sintaxe theme={null}
!role add <usuário> <cargos> [motivo]
!role remove <usuário> <cargos> [motivo]
!role temp <usuário> <cargo> <duração>
!role temp-list
!role all <cargo> [remove] [preview] [without] [motivo]
!role humans <cargo> [remove] [preview] [motivo]
!role has <cargo_filtro> <cargo_alvo> [remove] [without] [preview] [motivo]
!role bots <cargo> [preview] [motivo]
!role bots-remove <cargo> [preview] [motivo]
!role job [status|pause|resume|cancel]
!role cancel
```

```javascript Exemplo theme={null}
!role @Mia Membro
!role temp @Mia VIP 3d
!role all @Membro
!role humans @Novato preview
!role has @Veterano @Elder --joined_before 365d
!role all @Antigo remove --max_roles 1 limpando o servidor
!role job pause
```

Os mesmos comandos existem como comandos slash (`/role all`, `/role job`, etc.). Tudo o que o `!role` faz também está em `/role`.

## Um cargo por vez

* `add` e `remove` aceitam um ou mais cargos (menções, IDs ou nomes). O Petto diz quais não conseguiu dar e por quê, no seu idioma: o cargo está acima do Petto, acima de você ou é gerenciado por uma integração.
* `temp` dá um cargo por um tempo (até um ano) e o Petto o tira quando acaba. Se o membro já tinha o cargo, o Petto avisa: ele ainda será tirado. `temp-list` mostra quem tem um cargo temporário e quando termina.
* Um cargo temporário que você tira à mão, ou dá para sempre com `add`, é esquecido, então o temporizador nunca o tira depois.
* `group create|delete|view|list|give|take` guarda conjuntos de cargos com nome para dar ou tirar de uma vez.
* `create`, `delete`, `edit`, `color`, `icon`, `mentionable`, `hoist`, `topcolor`, `list` e `in` gerenciam os próprios cargos.

## Cargos em massa

`all`, `humans`, `has`, `bots` e `bots-remove` dão ou tiram um cargo de muitos membros. Rodam como uma **tarefa**: o mesmo motor que a página Cargos do dashboard usa.

* **Uma tarefa por servidor por vez.** Uma nova espera a que está rodando terminar.
* **Segura em servidores grandes.** Os membros são lidos em páginas de 1000, nunca todos de uma vez, e o próprio limite do Discord dita o ritmo.
* **Sobrevive a uma reinicialização.** Se o Petto reiniciar enquanto uma tarefa roda, ela continua do membro em que estava.
* **Um cartão a acompanha** no canal: membros verificados, alterados, que já estavam certos e que falharam, o tempo restante e o que fazer para pausar ou cancelar. Ao terminar mostra o resultado e quanto tempo levou.
* **Ela para sozinha** se o Discord recusar 15 membros seguidos, o que significa que o Petto perdeu a permissão ou que o cargo ficou acima do dele.
* Um membro que saiu enquanto a tarefa rodava conta como já estando certo, não como falha.

### Opções

| Opção | O que faz |
| - | - |
| `remove` | Tira o cargo em vez de dar. |
| `preview` | Só conta quem seria alterado. Ninguém é tocado. |
| `without` | (só `has`) os membros que **não** têm o cargo do filtro. |
| `joined_after`, `joined_before` | Um dia como `2025-03-01` (a partir da meia-noite UTC) ou um tempo atrás como `30d`. Com o prefixo escreva `--joined_after 30d`. |
| `min_roles`, `max_roles` | Só membros com pelo menos ou no máximo este número de cargos, sem contar `@everyone`. `--max_roles 0` escolhe os membros sem cargos. |
| `reason` | Aparece no registro de auditoria com o número da tarefa. Com o prefixo é o resto da mensagem. |

Com o prefixo, o nome de uma opção sozinho a ativa: `!role all @Membro remove preview`. `!role humans @Membro true` continua funcionando.

### Prévia, status, pausa e cancelamento

Execute primeiro o comando com `preview` para ver quantos membros seriam alterados e depois sem ele. `!role job` mostra a tarefa em andamento, ou a última, e as anteriores. `!role job pause` e `!role job resume` param e continuam, e `!role job cancel` (ou `!role cancel`) para de vez: o membro em andamento termina e nada mais é alterado. Qualquer pessoa com Administrador pode controlar uma tarefa, inclusive uma iniciada pelo dashboard.

> [!WARNING]
>
> Cuidado com cargos que dão **Administrador**, Gerenciar servidor, Gerenciar cargos, Expulsar ou Banir membros ou permissões parecidas: dá-los a muitos membros de uma vez é difícil de desfazer. O cartão avisa e o dashboard pede confirmação.

## Cargos ao entrar e cargos persistentes

Os dois ficam em `/role`:

* `/role join add|remove|list|clear|apply` é o [`!joinrole`](https://wiki.petto.sbs/pt-br/onboarding/join-roles): cargos dados quando um membro entra. `apply` dá um cargo de entrada agora aos membros que já estão no servidor.
* `/role sticky enable|disable|status` é o [`!stickyroles`](https://wiki.petto.sbs/pt-br/automation/sticky-roles): o Petto devolve os cargos de um membro quando ele volta.

Continuam funcionando `!joinrole`, `!jr`, `!stickyroles`, `!sr` e `!greet joinrole`.

## A página Cargos do dashboard

**Dashboard → Automação → Cargos** faz o mesmo pelo navegador e é fácil de usar no celular.

1. Escolha o **cargo** e se quer **atribuir** ou **remover**. Os cargos que o Petto não consegue dar aparecem em cinza com o motivo. Um cargo com permissões poderosas mostra um aviso e uma caixa para confirmar.
2. Escolha **quem**: todos os membros, humanos ou bots, um intervalo de datas de entrada (seletores de data reais, além de botões para os últimos 7, 30 ou 90 dias e para mais de 30 dias, 90 dias ou um ano), quantos cargos têm, os cargos que devem ter ou não ter (algum ou todos) e se pula os membros que ainda não aceitaram as regras.
3. Adicione um **motivo** para o registro de auditoria e, se quiser, um canal para avisar quando terminar.
4. Clique em **Prévia** para ver quantos membros seriam alterados, ou em **Começar**. Depois de uma prévia, **Executar de verdade** inicia a mesma tarefa.
5. Acompanhe a tarefa: uma barra de progresso, membros verificados, alterados, que já estavam certos e que falharam, o tempo restante, e **Pausar**, **Retomar** e **Cancelar**. A página se atualiza sozinha.
6. **Trabalhos recentes** lista os últimos com o resultado e, se um falhou, por quê: falta Gerenciar cargos ao Petto, o cargo foi apagado, é gerenciado por uma integração, está acima do Petto, etc.

A página e o Discord compartilham a mesma tarefa, então você pode começar em um e pausar ou cancelar no outro.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.