Les permissions

Blocs et code

Chaque action sensible correspond à une permission. Opale la déduit de ton module, l’affiche à l’admin, et refuse toute action dont la permission n’a pas été acceptée.

Déduites automatiquement

Tu ne choisis jamais les permissions. En blocs, elles viennent des actions utilisées. En code, l’éditeur lit tes appels : ctx.send( demande « Envoyer des messages », ctx.voice.play( demande « Rejoindre un salon vocal et jouer du son »… La liste apparaît dans « Ce que le module demandera » et dans l’onglet Publier.

Les cas que l’éditeur ne devine pas (code)

Quand une route Discord est construite dynamiquement, l’éditeur ne peut pas la lire. Déclare alors la permission avec module.uses :

JavaScript
module.uses('roles.manage');

module.command('couleur', async (ctx) => {
  const chemin = '/guilds/' + ctx.server.id + '/roles';
  await ctx.discord.post(chemin, { name: 'Bleu', color: 0x86a8cf });
});

Sans la permission, l’appel échoue avec un message clair : « Permission non accordée : … Ajoute module.uses('…') dans le code puis republie le module. »

Liste complète

IdentifiantCe que voit l’adminNiveau
messages.sendEnvoyer des messages dans les salons choisisFaible
messages.dmEnvoyer des messages privés aux membresMoyen
roles.assignDonner et retirer des rôles aux membresMoyen
channels.createCréer des salonsMoyen
members.timeoutRendre muets des membresÉlevé
members.kickExpulser des membresÉlevé
members.banBannir des membresÉlevé
members.nicknameChanger le pseudo des membresMoyen
messages.manageSupprimer et épingler des messages, ajouter des réactionsMoyen
channels.manageFermer et rouvrir des salons, créer des fils de discussionMoyen
messages.readLire l’historique des messages et les réactionsMoyen
messages.everyoneMentionner @everyone et @hereÉlevé
channels.deleteSupprimer des salons et des filsÉlevé
channels.permissionsModifier les permissions des salonsÉlevé
roles.manageCréer, modifier et supprimer des rôlesÉlevé
members.readLire la liste complète des membresFaible
members.voiceDéplacer, rendre muet ou déconnecter des membres en vocalMoyen
server.manageModifier le serveur (nom, icône, réglages, accueil)Élevé
expressions.manageGérer les emojis, stickers et sonsMoyen
events.manageGérer les événements programmés et les conférencesMoyen
invites.manageCréer, lire et supprimer des invitationsMoyen
webhooks.manageCréer et utiliser des webhooks (nom et avatar personnalisés)Moyen
automod.manageGérer les règles d’AutoModÉlevé
audit.readLire le journal d’audit du serveurMoyen
network.fetchContacter des sites extérieursMoyen
voice.playRejoindre un salon vocal et jouer du sonMoyen

Ce qui reste toujours interdit

  • Agir sur un autre serveur que celui de l’installation.
  • Donner à un rôle : Administrateur, Gérer le serveur, Gérer les rôles ou Gérer les webhooks.
  • Donner un rôle qui a des permissions sensibles, ou un rôle au-dessus de celui d’Opale.
  • Toucher au propriétaire du serveur, aux administrateurs et aux membres au-dessus d’Opale (expulsion, bannissement, exclusion, pseudo).
  • Mentionner @everyone et @here sans la permission « messages.everyone ».
  • Contacter un site qui n’est pas déclaré.
Les permissions · Documentation Opale