AlfyChat
Langage :

Permissions

Les permissions sont stockées en bitmask entier — chaque bit représente une capacité distincte.

Table des permissions

1SEND_MESSAGESEnvoyer des messages dans les salons
2READ_MESSAGESLire l'historique des salons
4MANAGE_MESSAGESSupprimer ou modifier des messages d'autres membres
8KICK_MEMBERSExclure des membres du serveur
16BAN_MEMBERSBannir définitivement des membres
32MANAGE_CHANNELSCréer, modifier et supprimer des salons
64ADMINISTRATORToutes les permissions — bypass complet du bitmask

Vérifier les permissions

Vérifier si le bot possède une permission
js
const PERMISSIONS = {
  SEND_MESSAGES:   1 << 0,  // 1
  READ_MESSAGES:   1 << 1,  // 2
  MANAGE_MESSAGES: 1 << 2,  // 4
  KICK_MEMBERS:    1 << 3,  // 8
  BAN_MEMBERS:     1 << 4,  // 16
  MANAGE_CHANNELS: 1 << 5,  // 32
  ADMINISTRATOR:   1 << 6,  // 64
};

function hasPermission(botPerms, permission) {
  return (botPerms & PERMISSIONS.ADMINISTRATOR) !== 0 ||
         (botPerms & permission) !== 0;
}

// Combiner des permissions
const readWrite = PERMISSIONS.SEND_MESSAGES | PERMISSIONS.READ_MESSAGES; // 3

if (hasPermission(readWrite, PERMISSIONS.SEND_MESSAGES)) {
  console.log('Le bot peut envoyer des messages');
}

Endpoints

GET
/api/bots/me/servers

Liste les serveurs où le bot est présent avec les permissions associées

GET
/api/bots/me/servers/:serverId

Permissions du bot sur un serveur spécifique

PATCH
/api/bots/me/servers/:serverId

Modifier les permissions (nécessite les droits admin du serveur)

ADMINISTRATOR (64)

Si ce bit est activé, le bot contourne toutes les vérifications de permissions. Équivalent d'un accès complet. À accorder uniquement en pleine confiance.