Permissions

Vous pouvez régler des permissions personnalisées pour les commandes d’ATOS selon vos critères.

Comment ça marche

Il est possible d’écrire des “règles” autorisant ou interdisant un membre, un rôle ou un channel d’utiliser une commande ou un module. Vous pouvez accumuler plusieurs règles pour encadrer proprement le contexte où les membres peuvent utiliser le bot.

Si aucune règle n’est applicable, alors la commande va se comporter correctement (en se reposant sur les permissions, les rôles de modérateur et d’administrateur, la whitelist/blacklist et les channels ignorés par le bot).

Priorité des règles

Les règles définies sur les sous-commandes surpassent les règles de la commande parent. Idem pour les commandes qui surpassent les règles définies sur le module.

Si par exemple un membre n’a pas le droit d’utiliser la commande !checkin mais peut utiliser !checkin call, le membre ne pourra utiliser aucune sous-commande de !checkin excepté !checkin call. De plus, si un membre n’a pas le droit d’utiliser le module Tournaments mais peut utiliser !bracket, il ne pourra utiliser aucune commande de tournoi excepté !bracket.


Enfin, il y a également un ordre de priorité sur les “objets” qui définissent votre règle. Par objet, j’entends un membre, un rôle, un channel textuel ou vocal, ou bien le serveur entier ; ce sur quoi s’applique votre règle :

  1. Utilisateur
  2. Channel vocal
  3. Channel textuel
  4. Catégorie de channels
  5. Rôle, du plus haut au plus bas
  6. Serveur (règles par défaut)
  7. Commande par défaut

Par exemple, si un rôle X n’a pas la permission d’utiliser les commandes d’Audio mais le channel Y en a la permission, dans ce cas les membres avec le rôle X pourront utiliser les commandes du module Audio uniquement dans le channel Y.

En MP, seules les règles globales seront appliquées.

Les commandes

Commande Description
!permissions Commande de base des permissions
!permissions explain Explication brève du système
!permissions canrun Vérifie si un utilisateur peut exécuter une certaine commande dans le channel actuel
!permissions addserverrule Ajoute une règle de permissions
!permissions removeserverrule Retire une de vos règles
!permissions setdefaultserverrule Ajoute une règle par défaut de permissions (s’appliquera partout, priorité minimale sur les autres règles)
!permissions clearserverrules Efface toutes les règles personnalisées du serveur
!permissions acl Règle ou affiche les permissions à partir d’un fichier YAML

Exemples

  • Pour interdire les commandes de tournois à tout le monde sauf à un rôle :

    • !permissions setdefaultserverrule deny Tournaments
    • !permissions addserverrule allow Tournaments @Tournois
  • Pour donner accès aux commandes audio uniquement aux utilisateurs dans un certain channel vocal :

    • !permissions setdefaultserverrule deny Audio
    • !permissions addserverrule allow Audio "Vocal - Musique"
  • Pour donner accès à la commande !setscore à un rôle autre que modo ou T.O.:

    • !permissions addserverrule allow setscore @Score Checker