Tous les guides

Permissions et hiérarchie des rôles : pourquoi un bot Discord échoue

La quasi-totalité des « le bot ne fonctionne pas » signalés par les administrateurs se ramène à deux causes, et aucune n'est un défaut du bot : une permission absente, ou un rôle mal placé dans la hiérarchie.

Ce guide explique les deux mécanismes, dans l'ordre où il faut les vérifier.

Dernière mise à jour :

Les deux mécanismes, à ne pas confondre

La permission détermine ce qu'un bot a le droit de faire sur le serveur : bannir, gérer les messages, gérer les rôles. Elle se règle sur le rôle du bot, et peut être modifiée salon par salon.

La hiérarchie détermine sur qui il peut le faire. Discord interdit à un bot d'agir sur un membre dont le rôle le plus élevé se situe au-dessus du sien, et de manipuler un rôle placé au-dessus du sien — même avec la permission Administrateur.

Un bot peut donc avoir toutes les permissions et échouer quand même. C'est le cas le plus fréquent, et le plus déroutant, parce que rien dans les réglages de permissions ne le laisse deviner.

Diagnostic, dans l'ordre

  • L'action échoue-t-elle sur tout le monde, ou seulement sur certains membres ? Sur tout le monde, c'est une permission ; sur certains seulement, c'est la hiérarchie.
  • Ouvrir Paramètres du serveur, Rôles, et vérifier que le rôle du bot porte la permission correspondant à l'action.
  • Vérifier la position du rôle du bot dans la liste : il doit être au-dessus des rôles des membres visés et des rôles qu'il attribue.
  • Vérifier les permissions du salon concerné : un salon peut refuser localement ce que le rôle autorise globalement.
  • Vérifier que l'action n'est pas interdite par Discord lui-même — un propriétaire de serveur ne peut être ni expulsé ni banni par personne.

Les permissions à donner, par fonction

  • Modération : Expulser des membres, Bannir des membres, Gérer les messages.
  • Niveaux avec rôles automatiques : Gérer les rôles, et le rôle du bot au-dessus des rôles attribués.
  • Accueil et vérification : Gérer les rôles, Voir les salons, Envoyer des messages dans le salon de bienvenue et dans le salon de validation.
  • Sondages : Ajouter des réactions, en plus de l'envoi de messages.
  • Automodération : Gérer les messages, et l'accès en lecture aux salons surveillés.

Ce que la permission Administrateur ne fait pas

Donner Administrateur à un bot accorde toutes les permissions d'un coup, mais ne change rien à la hiérarchie. Un bot administrateur placé en bas de la liste des rôles reste incapable d'agir sur la moitié du serveur.

C'est par ailleurs un mauvais réglage par défaut : une permission qu'un bot n'utilise pas est une permission qu'il ne devrait pas avoir, et Administrateur inclut la suppression de salons et la modification du serveur. Mieux vaut accorder les permissions correspondant aux modules réellement activés.

Questions fréquentes

Pourquoi mon bot Discord n'arrive-t-il pas à attribuer un rôle ?

Soit il lui manque la permission Gérer les rôles, soit — bien plus souvent — le rôle qu'il doit attribuer est placé au-dessus du sien dans la hiérarchie du serveur. Discord interdit à un bot de manipuler un rôle supérieur au sien, même avec la permission Administrateur.

Faut-il donner la permission Administrateur à un bot Discord ?

Non, sauf raison précise. Elle n'aide pas sur la hiérarchie, qui est la cause la plus fréquente des échecs, et elle accorde des droits — suppression de salons, modification du serveur — dont le bot n'a pas l'usage. Accordez les permissions correspondant aux modules activés.

Comment savoir si le problème vient d'une permission ou de la hiérarchie ?

Regardez sur qui l'action échoue. Si elle échoue sur tous les membres, c'est une permission manquante. Si elle n'échoue que sur certains — typiquement les modérateurs et les administrateurs — c'est la position du rôle du bot dans la hiérarchie.