> ## 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.

# Permissões de comandos

> Decida quem pode usar cada comando com níveis do Petto de 0 a 100, restrições por cargo e comandos desativados, além da permissão do Discord que cada ação pede.

As permissões do Discord e a hierarquia de cargos decidem se uma ação é tecnicamente possível. Além disso, o Petto tem as próprias ferramentas para decidir **quem pode usar um comando**: níveis de 0 a 100, restrições por cargo e comandos desativados. Tudo isso pode ser gerenciado na página **Permissões** do dashboard ou com comandos de prefixo.

> [!WARNING]
>
> Nada disso passa por cima do Discord. Um membro pode ter nível 100 no Petto e ainda assim falhar se as permissões dele no Discord ou a hierarquia de cargos do Petto não permitirem a ação.

## Como o Petto decide

Quando alguém usa um comando, o Petto verifica, nesta ordem:

1. **Não está desativado.** [`!disablecommand`](https://wiki.petto.sbs/pt-br/automation/disable-commands) desativa um comando no servidor ou em alguns canais. Ninguém pula esta etapa.
2. **Permissão do Discord.** Os comandos que mudam o servidor pedem a permissão do Discord da ação, como **Banir membros** para `!ban`.
3. **Nível do Petto.** Um comando pode exigir um nível de 0 a 100. Os membros recebem o nível dos seus grupos; todo mundo tem o nível do grupo `@everyone`.
4. **Restrição por cargo.** [`!restrictcommand`](#restrições-por-cargo) deixa só alguns cargos usarem um comando.

O dono do servidor e os membros com **Administrador** pulam as etapas 2 a 4.

> [accordion] 1. Desativado
>
> ![sam.k tenta !remind no #general e o Petto diz que !remind está desativado ali, que tente em outro canal](https://mintcdn.com/wikipetto/TvSVTyhvEkvwD6wa/images/discord/setup/pt-br/permissions-check-disabled.webp?fit=max\&auto=format\&n=TvSVTyhvEkvwD6wa\&q=85\&s=689453bc6b73fb94509afa29ca4e6726)
>
> No Discord: um comando desativado neste canal.

> [accordion] 2. Permissão do Discord
>
> ![sam.k tenta banir toxic\_tom e o Petto diz que falta a permissão ban\_members](https://mintcdn.com/wikipetto/TvSVTyhvEkvwD6wa/images/discord/setup/pt-br/permissions-check-discord.webp?fit=max\&auto=format\&n=TvSVTyhvEkvwD6wa\&q=85\&s=6e983a600c5162d81f6b2dad32c7be26)
>
> No Discord: um membro sem Banir membros tenta !ban.

> [accordion] 3. Nível do Petto
>
> ![shi tem Gerenciar mensagens mas tenta !purge 20 sem o nível, e o Petto diz que falta o nível de permissão](https://mintcdn.com/wikipetto/TvSVTyhvEkvwD6wa/images/discord/setup/pt-br/permissions-check-level.webp?fit=max\&auto=format\&n=TvSVTyhvEkvwD6wa\&q=85\&s=83c06e693702e31a2e2978b7e4483b7e)
>
> No Discord: !purge pede nível 20 e shi não está em nenhum grupo de nível.

> [accordion] 4. Restrição por cargo
>
> ![shi, da equipe de ajudantes, tenta banir toxic\_tom e o Petto diz que só os membros com Moderadores podem usar ban neste servidor](https://mintcdn.com/wikipetto/TvSVTyhvEkvwD6wa/images/discord/setup/pt-br/permissions-check-restricted.webp?fit=max\&auto=format\&n=TvSVTyhvEkvwD6wa\&q=85\&s=b3df9fc484754bea04d2bddeafe4725f)
>
> No Discord: aqui o !ban é só para Moderadores.

Os exemplos abaixo usam o prefixo padrão `!`. As mesmas verificações acontecem quando um comando é usado com `/`: veja [Comandos slash](#comandos-slash) abaixo.

## Níveis

```text theme={null}
!permission group create moderators 50
!permission group add-role moderators @Moderadores
!permission command set ban 50
!permission group list
!permission command list
!permission mylevel
```

> [accordion] !permission group create
>
> ![liam cria o grupo moderadores com nível 50](https://mintcdn.com/wikipetto/TvSVTyhvEkvwD6wa/images/discord/setup/pt-br/permissions-group-create.webp?fit=max\&auto=format\&n=TvSVTyhvEkvwD6wa\&q=85\&s=f2fc6950bfab57c1ff9cc73c04b8eacb)
>
> No Discord: um grupo de nível criado.

> [accordion] !permission group add-role
>
> ![liam adiciona o cargo Moderadores ao grupo moderadores](https://mintcdn.com/wikipetto/TvSVTyhvEkvwD6wa/images/discord/setup/pt-br/permissions-group-add-role.webp?fit=max\&auto=format\&n=TvSVTyhvEkvwD6wa\&q=85\&s=43a62819fc2254184f0f80335e57ce35)
>
> No Discord: um cargo adicionado a um grupo.

> [accordion] !permission command set
>
> ![liam faz o comando ban exigir o nível 50](https://mintcdn.com/wikipetto/TvSVTyhvEkvwD6wa/images/discord/setup/pt-br/permissions-command-set.webp?fit=max\&auto=format\&n=TvSVTyhvEkvwD6wa\&q=85\&s=37a889dcf3d911eaee85439f3ccf70bc)
>
> No Discord: um nível exigido para um comando.

> [accordion] !permission command list
>
> ![liam lista os comandos com nível: ban 50, lockdown 90 e purge 20](https://mintcdn.com/wikipetto/TvSVTyhvEkvwD6wa/images/discord/setup/pt-br/permissions-command-list.webp?fit=max\&auto=format\&n=TvSVTyhvEkvwD6wa\&q=85\&s=a50af38da2f454365af9c820b3a07bd4)
>
> No Discord: os comandos que pedem um nível.

* `group create <name> <level>` cria um grupo, e `group level <name> <0-100>` muda o nível dele.
* `group add-role` / `remove-role` e `group add-user` / `remove-user` decidem quem está nele. `group view <name>` mostra quem está, e `group delete <name>` o remove.
* `command set <command> <level>` exige um nível para um comando (`0` o torna público de novo). `command list` mostra os comandos com nível.
* `mylevel` mostra o seu próprio nível.

> [accordion] !permission group level
>
> ![liam muda o nível do grupo ajudantes para 30](https://mintcdn.com/wikipetto/TvSVTyhvEkvwD6wa/images/discord/setup/pt-br/permissions-group-level.webp?fit=max\&auto=format\&n=TvSVTyhvEkvwD6wa\&q=85\&s=c6fe09afd8204f5295f78c370b3fdada)
>
> No Discord: o nível de um grupo mudado.

> [accordion] !permission group remove-role
>
> ![liam remove o cargo Ajudantes do grupo ajudantes](https://mintcdn.com/wikipetto/TvSVTyhvEkvwD6wa/images/discord/setup/pt-br/permissions-group-remove-role.webp?fit=max\&auto=format\&n=TvSVTyhvEkvwD6wa\&q=85\&s=ad642194d5a238d973cc01fc7bbfffd0)
>
> No Discord: um cargo tirado de um grupo.

> [accordion] !permission group add-user
>
> ![liam adiciona Chillet ao grupo moderadores](https://mintcdn.com/wikipetto/TvSVTyhvEkvwD6wa/images/discord/setup/pt-br/permissions-group-add-user.webp?fit=max\&auto=format\&n=TvSVTyhvEkvwD6wa\&q=85\&s=a6296f8214a1fd17a7bc87bef09dc83d)
>
> No Discord: um membro adicionado a um grupo.

> [accordion] !permission group remove-user
>
> ![liam remove Chillet do grupo moderadores](https://mintcdn.com/wikipetto/TvSVTyhvEkvwD6wa/images/discord/setup/pt-br/permissions-group-remove-user.webp?fit=max\&auto=format\&n=TvSVTyhvEkvwD6wa\&q=85\&s=ea8cf66b4b5270e87987af199a1ec46f)
>
> No Discord: um membro tirado de um grupo.

> [accordion] !permission group view
>
> ![liam vê o grupo moderadores: nível 50, o cargo Moderadores e Chillet](https://mintcdn.com/wikipetto/TvSVTyhvEkvwD6wa/images/discord/setup/pt-br/permissions-group-view.webp?fit=max\&auto=format\&n=TvSVTyhvEkvwD6wa\&q=85\&s=6464f2728ba0cd4bd315dcf17cdb0293)
>
> No Discord: o nível, os cargos e os membros de um grupo.

> [accordion] !permission group delete
>
> ![liam exclui o grupo ajudantes, e ao tentar excluir @everyone o Petto diz que não pode](https://mintcdn.com/wikipetto/TvSVTyhvEkvwD6wa/images/discord/setup/pt-br/permissions-group-delete.webp?fit=max\&auto=format\&n=TvSVTyhvEkvwD6wa\&q=85\&s=ba3f5b39d6febcb9bcdd9743cf60edad)
>
> No Discord: um grupo excluído; o grupo @everyone não pode ser.

Um membro recebe o **maior** nível de todos os grupos em que se encaixa, por cargo ou por usuário. Todo servidor também tem um grupo `@everyone` (nível 0 no início) em que todo mundo está; ele não pode ser excluído. Um comando sem nível fica aberto para os membros que passam na verificação de permissão do Discord dele.

`!permission` precisa de **Gerenciar servidor** (aliases `!auth` e `!pgroup`).

![liam lista quatro grupos (@everyone 0, ajudantes 20, moderadores 50, admins 90) e kira vê que o nível dela é 50](https://mintcdn.com/wikipetto/4ijFW041sxK9Gi0r/images/discord/setup/pt-br/permissions.webp?fit=max\&auto=format\&n=4ijFW041sxK9Gi0r\&q=85\&s=8e2e5696b6a486ba8a6ab192797031b5)

No Discord: os grupos de nível do servidor, e o nível próprio de uma moderadora.

## Restrições por cargo

`!restrictcommand` (aliases `!rc`, `!restrict`, `!restrictcmd`) faz com que um comando só possa ser usado por membros com um dos cargos que você escolher, seja com prefixo ou como comando slash.

```javascript Syntax theme={null}
!restrictcommand add <command> <role>
!restrictcommand remove <command> [role]
!restrictcommand list
!restrictcommand reset
```

```javascript Example theme={null}
!rc ban @Moderadores
!rc ban @Admins
!rc remove ban @Admins
!rc list
```

> [accordion] !rc ban @Moderators
>
> ![liam restringe ban a Moderadores e depois também a Admin, e o Petto confirma cada um](https://mintcdn.com/wikipetto/TvSVTyhvEkvwD6wa/images/discord/setup/pt-br/permissions-rc-add.webp?fit=max\&auto=format\&n=TvSVTyhvEkvwD6wa\&q=85\&s=5d2f962803e4b26400b18608f293dcea)
>
> No Discord: !ban restrito a Moderadores, depois Admin adicionado (add é o padrão).

> [accordion] !rc remove
>
> ![liam tira Admin do ban, que Moderadores ainda pode usar, depois tira purge sem cargo e ele fica aberto de novo](https://mintcdn.com/wikipetto/TvSVTyhvEkvwD6wa/images/discord/setup/pt-br/permissions-rc-remove.webp?fit=max\&auto=format\&n=TvSVTyhvEkvwD6wa\&q=85\&s=3ef6105b34e07e139cd418c0761f6da9)
>
> No Discord: um cargo tirado de um comando, depois um comando aberto de novo para todos.

> [accordion] !rc list
>
> ![liam lista três comandos restritos: ban, lockdown e purge com os cargos](https://mintcdn.com/wikipetto/TvSVTyhvEkvwD6wa/images/discord/setup/pt-br/permissions-rc-list.webp?fit=max\&auto=format\&n=TvSVTyhvEkvwD6wa\&q=85\&s=60ebac49054794705e185bfda5cc3284)
>
> No Discord: cada comando restrito e os cargos.

> [accordion] !rc reset
>
> ![liam redefine as restrições e o Petto diz que 5 regras foram removidas](https://mintcdn.com/wikipetto/TvSVTyhvEkvwD6wa/images/discord/setup/pt-br/permissions-rc-reset.webp?fit=max\&auto=format\&n=TvSVTyhvEkvwD6wa\&q=85\&s=2f3726df19e5bd6d444a5f62173e2f0b)
>
> No Discord: todos os comandos restritos abertos de uma vez.

> [accordion] Recusado
>
> ![liam tenta @everyone e o comando baan, e o Petto recusa cada um com o motivo](https://mintcdn.com/wikipetto/TvSVTyhvEkvwD6wa/images/discord/setup/pt-br/permissions-rc-errors.webp?fit=max\&auto=format\&n=TvSVTyhvEkvwD6wa\&q=85\&s=737d237a749ab4a7fe3558297674d4b7)
>
> No Discord: são recusados @everyone e um comando que não existe.

`add` é o padrão, então `!rc ban @Moderadores` é o mesmo que `!rc add ban @Moderadores`. Adicionar mais cargos ao mesmo comando deixa qualquer um deles usá-lo. `remove` sem um cargo abre o comando para todos de novo, e `reset` abre todos os comandos restritos. O dono e os administradores sempre podem usá-los. Precisa de **Gerenciar servidor**.

## A página Permissões

**Dashboard → Segurança → Permissões** mostra as quatro etapas acima e permite:

* **Grupos de nível**: criar grupos, definir o nível deles e adicionar cargos ou membros (por ID). O grupo `@everyone` é o nível de todo mundo.
* **Quem pode usar o quê**: escolher um cargo e ver, comando por comando, se os membros dele podem usá-lo e por quê (desativado, precisa de uma permissão do Discord, precisa de um nível, só para alguns cargos). Filtre por comandos com nível, restritos a cargos ou abertos para todos, e busque por nome ou alias.
* Ver os comandos com nível, as restrições por cargo e os comandos desativados, incluindo os definidos pelo Discord.

![A página Permissões com 4 grupos de nível, 3 comandos com nível, 1 restrito a cargos e 3 desativados, e os grupos com os cargos](https://mintcdn.com/wikipetto/Bm0GIaRx3PrhISMI/images/dashboard/setup/pt-br/permissions.webp?fit=max\&auto=format\&n=Bm0GIaRx3PrhISMI\&q=85\&s=9a7b2c6a21c896927fc5005ab817e25a)

Dashboard → Segurança → Permissões: as contagens, os quatro passos e os grupos de nível.

![Quem pode usar o quê com @Moderadores escolhido (109 de 180 comandos, nível 50) e os comandos filtrados por O cargo não pode usar, cada um com o motivo](https://mintcdn.com/wikipetto/Bm0GIaRx3PrhISMI/images/dashboard/setup/pt-br/permissions-preview.webp?fit=max\&auto=format\&n=Bm0GIaRx3PrhISMI\&q=85\&s=5209c9329f528d947fd5e60dda1e1d27)

Dashboard → Segurança → Permissões → Quem pode usar o quê: Moderadores na prévia, com os comandos que não pode usar e por quê.

![O cartão Comandos com o filtro Com nível: ban em 50 para moderadores e restrito a Moderadores, purge em 20 para ajudantes, lockdown em 90 para admins](https://mintcdn.com/wikipetto/Bm0GIaRx3PrhISMI/images/dashboard/setup/pt-br/permissions-commands.webp?fit=max\&auto=format\&n=Bm0GIaRx3PrhISMI\&q=85\&s=016f2789a9a6a28d27571745b96e6541)

Dashboard → Segurança → Permissões → Comandos: filtrados por Com nível, cada um com a permissão do Discord, os cargos e o nível.

## Comandos slash

Os [comandos do dia a dia](https://wiki.petto.sbs/pt-br/setup/prefix.md#comandos-slash) (`/ban`, `/purge`, `/channel`, `/ticket`, `/embed` e os demais) também funcionam pelo menu `/` do Discord. Duas coisas decidem se um membro pode usar um deles:

1. **O Discord mostra ou esconde.** Cada comando slash de moderação pede ao Discord a permissão da sua ação, então o menu esconde `/ban` e `/unban` dos membros sem **Banir membros**, `/kick` sem **Expulsar membros**, `/warn` e `/timeout` sem **Moderar membros**, `/purge` sem **Gerenciar mensagens** e `/channel` sem **Gerenciar canais**. `/embed`, `/giveaway`, `/setup`, `/vanity` e `/guildtag` precisam de **Gerenciar servidor**.
2. **O Petto verifica** exatamente como verifica a forma com prefixo: comandos desativados, níveis e restrições por cargo valem do mesmo jeito.

Para deixar um cargo usar um comando slash escondido sem dar a ele a permissão do Discord (por exemplo, um cargo que você escolheu para `ban` em [`!moderation`](https://wiki.petto.sbs/pt-br/moderation/moderation#acesso-à-moderação-por-cargo)), permita o comando para esse cargo em **Configurações do servidor → Integrações → Petto**. Aí o Discord mostra o comando para eles, e as verificações do próprio Petto decidem o resto. A forma com prefixo nunca depende dessa configuração.

## Cobertura de comandos

**Dashboard → Segurança → Cobertura de comandos** mostra como os **comandos da equipe** estão protegidos: quantos deles têm um nível do Petto, uma restrição por cargo ou estão desativados, e quais dependem só da permissão do Discord da ação. Cada comando diz qual dessas proteções ele tem, e **Definir níveis e cargos** leva você para a página Permissões.

![A página Cobertura de comandos: a parte dos comandos da equipe com proteção extra, a contagem por tipo e os comandos de Moderação com as etiquetas](https://mintcdn.com/wikipetto/Bm0GIaRx3PrhISMI/images/dashboard/setup/pt-br/permissions-command-coverage.webp?fit=max\&auto=format\&n=Bm0GIaRx3PrhISMI\&q=85\&s=c8f375f800df789b403ac1f0b4590839)

Dashboard → Segurança → Cobertura de comandos: como os comandos da equipe estão protegidos, comando por comando.

Depender só da permissão do Discord funciona bem para a maioria dos servidores. Adicione um nível ou uma restrição por cargo quando quiser que um comando exija mais do que a permissão, por exemplo um `!ban` que só os moderadores seniores podem usar, mesmo que mais cargos tenham Banir membros.

## Relacionados

* [Acesso à moderação por cargo](https://wiki.petto.sbs/pt-br/moderation/moderation.md#acesso-à-moderação-por-cargo): deixe um cargo usar uma ação de moderação sem dar a ele Administrador.
* [Desativar comandos](https://wiki.petto.sbs/pt-br/automation/disable-commands.md)
* [Acesso ao painel](https://wiki.petto.sbs/pt-br/setup/dashboard-access.md): quem pode abrir o dashboard, não quem pode usar comandos.
* [Permissões e hierarquia](https://wiki.petto.sbs/pt-br/concepts/permissions-and-hierarchy.md)


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