Saltar al contenido principal
Los permisos de Discord y la jerarquía de roles deciden si una acción es técnicamente posible. Además de eso, Petto tiene sus propias herramientas para decidir quién puede usar un comando: niveles de 0 a 100, restricciones por rol y comandos desactivados. Todo se puede gestionar desde la página Permisos de la dashboard o con comandos de prefijo.
Nada de esto se salta a Discord. Un miembro puede tener nivel 100 en Petto y aun así fallar si sus permisos de Discord o la jerarquía de roles de Petto no permiten la acción.

Cómo decide Petto

Cuando alguien usa un comando, Petto revisa, en este orden:
  1. Que no esté desactivado. !disablecommand apaga un comando en el servidor o en algunos canales. Nadie se salta esto.
  2. Permiso de Discord. Los comandos que cambian el servidor piden el permiso de Discord de la acción, como Banear miembros para !ban.
  3. Nivel de Petto. Un comando puede necesitar un nivel de 0 a 100. Los miembros reciben el nivel de sus grupos; todos tienen el nivel del grupo @everyone.
  4. Restricción por rol. !restrictcommand deja que solo algunos roles usen un comando.
El dueño del servidor y los miembros con Administrador se saltan los pasos 2 a 4.
sam.k prueba !remind en #general y Petto dice que !remind está desactivado ahí, que lo pruebe en otro canal

En Discord: un comando desactivado en este canal.

sam.k intenta banear a toxic_tom y Petto dice que le falta el permiso ban_members

En Discord: un miembro sin Banear miembros prueba !ban.

shi tiene Gestionar mensajes pero prueba !purge 20 sin el nivel, y Petto dice que le falta el nivel de permiso

En Discord: !purge pide nivel 20 y shi no está en ningún grupo de nivel.

shi, del equipo de ayudantes, intenta banear a toxic_tom y Petto dice que solo los miembros con Moderadores pueden usar ban en este servidor

En Discord: aquí !ban es solo para Moderadores.

Los ejemplos de abajo usan el prefijo por defecto !. Las mismas comprobaciones se hacen cuando un comando se usa con /: mira Comandos de barra más abajo.

Niveles

liam crea el grupo moderadores con nivel 50

En Discord: un grupo de nivel creado.

liam agrega el rol Moderadores al grupo moderadores

En Discord: un rol agregado a un grupo.

liam hace que el comando ban exija el nivel 50

En Discord: un nivel exigido para un comando.

liam lista los comandos con nivel: ban 50, lockdown 90 y purge 20

En Discord: los comandos que piden un nivel.

  • group create <name> <level> crea un grupo, y group level <name> <0-100> cambia su nivel.
  • group add-role / remove-role y group add-user / remove-user deciden quién está en él. group view <name> los muestra, y group delete <name> lo borra.
  • command set <command> <level> exige un nivel para un comando (0 lo vuelve público otra vez). command list muestra los comandos que tienen nivel.
  • mylevel muestra tu propio nivel.
liam cambia el nivel del grupo ayudantes a 30

En Discord: el nivel de un grupo cambiado.

liam quita el rol Ayudantes del grupo ayudantes

En Discord: un rol quitado de un grupo.

liam agrega a Chillet al grupo moderadores

En Discord: un miembro agregado a un grupo.

liam quita a Chillet del grupo moderadores

En Discord: un miembro quitado de un grupo.

liam mira el grupo moderadores: nivel 50, el rol Moderadores y Chillet

En Discord: el nivel, los roles y los miembros de un grupo.

liam elimina el grupo ayudantes, y al intentar eliminar @everyone Petto dice que no se puede

En Discord: un grupo eliminado; el grupo @everyone no se puede.

Un miembro recibe el nivel más alto de todos los grupos que le corresponden, por rol o por usuario. Cada servidor también tiene un grupo @everyone (nivel 0 al inicio) en el que están todos; no se puede borrar. Un comando sin nivel está abierto a los miembros que pasan su comprobación de permiso de Discord. !permission necesita Gestionar servidor (alias !auth y !pgroup).
liam lista cuatro grupos (@everyone 0, ayudantes 20, moderadores 50, admins 90) y kira ve que su nivel es 50

En Discord: los grupos de nivel del servidor, y el nivel propio de una moderadora.

Restricciones por rol

!restrictcommand (alias !rc, !restrict, !restrictcmd) hace que un comando solo lo puedan usar los miembros con uno de los roles que elijas, como comando de prefijo o de barra.
liam restringe ban a Moderadores y luego también a Admin, y Petto confirma cada uno

En Discord: !ban restringido a Moderadores, y luego se agrega Admin (add es lo predeterminado).

liam quita Admin de ban, que Moderadores todavía puede usar, y luego quita purge sin rol y queda abierto otra vez

En Discord: un rol quitado de un comando, y luego un comando abierto otra vez a todos.

liam lista tres comandos restringidos: ban, lockdown y purge con sus roles

En Discord: cada comando restringido y sus roles.

liam restablece las restricciones y Petto dice que se quitaron 5 reglas

En Discord: todos los comandos restringidos abiertos de una vez.

liam prueba @everyone y el comando baan, y Petto rechaza cada uno con su motivo

En Discord: se rechazan @everyone y un comando que no existe.

add es la acción por defecto, así que !rc ban @Moderators es lo mismo que !rc add ban @Moderators. Agregar más roles al mismo comando deja que cualquiera de ellos lo use. remove sin un rol abre el comando a todos otra vez, y reset abre todos los comandos restringidos. El dueño y los administradores siempre pueden usarlos. Necesita Gestionar servidor.

La página Permisos

Dashboard → Seguridad → Permisos muestra los cuatro pasos de arriba y te deja:
  • Grupos de nivel: crear grupos, poner su nivel y agregar roles o miembros (por ID). El grupo @everyone es el nivel de todos.
  • Quién puede usar qué: elegir un rol y ver, comando por comando, si sus miembros pueden usarlo y por qué (desactivado, necesita un permiso de Discord, necesita un nivel, solo para algunos roles). Filtra por comandos con nivel, restringidos a roles o abiertos a todos, y busca por nombre o alias.
  • Ver los comandos con nivel, las restricciones por rol y los comandos desactivados, incluidos los que se configuraron desde Discord.
La página Permisos con 4 grupos de nivel, 3 comandos con nivel, 1 restringido a roles y 3 desactivados, y los grupos con sus roles

Dashboard → Seguridad → Permisos: los conteos, los cuatro pasos y los grupos de nivel.

Quién puede usar qué con @Moderadores elegido (109 de 180 comandos, nivel 50) y los comandos filtrados por El rol no puede usar, cada uno con su motivo

Dashboard → Seguridad → Permisos → Quién puede usar qué: Moderadores en vista previa, con los comandos que no puede usar y por qué.

La tarjeta Comandos con el filtro Con nivel: ban en 50 para moderadores y restringido a Moderadores, purge en 20 para ayudantes, lockdown en 90 para admins

Dashboard → Seguridad → Permisos → Comandos: filtrados por Con nivel, cada uno con su permiso de Discord, sus roles y su nivel.

Comandos de barra

Los comandos de uso diario (/ban, /purge, /channel, /ticket, /embed y el resto) también funcionan desde el menú / de Discord. Dos cosas deciden si un miembro puede usar uno:
  1. Discord lo muestra u oculta. Cada comando de barra de moderación le pide a Discord el permiso de su acción, así que el menú oculta /ban y /unban a los miembros sin Banear miembros, /kick sin Expulsar miembros, /warn y /timeout sin Moderar miembros, /purge sin Gestionar mensajes y /channel sin Gestionar canales. /embed, /giveaway, /setup, /vanity y /guildtag necesitan Gestionar servidor.
  2. Petto lo revisa exactamente como revisa la forma con prefijo: los comandos desactivados, los niveles y las restricciones por rol se aplican igual.
Para dejar que un rol use un comando de barra oculto sin darle el permiso de Discord (por ejemplo, un rol que elegiste para ban en !moderation), permite el comando para ese rol en Ajustes del servidor → Integraciones → Petto. Discord entonces se lo muestra, y las comprobaciones propias de Petto deciden el resto. La forma con prefijo nunca depende de este ajuste.

Cobertura de comandos

Dashboard → Seguridad → Cobertura de comandos muestra cómo están protegidos los comandos de staff: cuántos tienen un nivel de Petto, una restricción por rol o están desactivados, y cuáles solo dependen del permiso de Discord de la acción. Cada comando dice cuál de estas cosas lo protege, y Poner niveles y roles te lleva a la página Permisos.
La página Cobertura de comandos: la parte de los comandos del staff con protección extra, el conteo por tipo y los comandos de Moderación con sus etiquetas

Dashboard → Seguridad → Cobertura de comandos: cómo están protegidos los comandos del staff, comando por comando.

Depender solo del permiso de Discord está bien para la mayoría de los servidores. Agrega un nivel o una restricción por rol cuando quieras que un comando necesite más que el permiso, por ejemplo un !ban que solo puedan usar los moderadores de mayor rango aunque más roles tengan Banear miembros.

Relacionado