[Node.JS] - LockPermissions

Le problème exposé dans ce sujet a été résolu.

Salutations ! Je débute en java script, actuellement j’essaye de faire un bot discord capable de changer les permissions d’un joueurs pour chaque catégories et synchroniser les salons de ces dernières.

Pour être plus claire, je veux que tel utilisateur n’ai plus accès à tel permission pour chaque catégories, puis synchroniser tous les salons avec leurs catégories, pour qu’il n’ai plus accès à cette permissions, sur chaque salons du serveur.

J’ai besoins de passer par la synchronisation des salons pour me facilité la vie plus tard, mais pour le moment il faut que je sache comment faire.

Pour changer les permissions de l’utilisateur pour chaque catégories j’utilise :

const allCategories = message.guild.channels.cache.filter(ca => ca.type === "category")
allCategories.forEach(ca => {
   ca.overwritePermissions([
     {
       id: message.author.id,
       deny: ['VIEW_CHANNEL'],
     }
   ])
})

Néanmoins je n’ai rien trouver pour synchroniser les salons avec les catégories.

Merci d’avance à toutes et tous qui m’éclairons sur ce sujet ! ^^

Finalement, j’ai trouver la solution, la voici pour ceux que ça intéresse :

  const allCategories = message.guild.channels.cache.filter(ca => ca.type === "category")
  const allChannels = message.guild.channels.cache.filter(ch => ch.type === "text")
  allCategories.forEach(ca => {
     ca.overwritePermissions([
       {
         id: message.author.id,
         null: ['VIEW_CHANNEL'],
       }
     ])
    })
    allChannels.forEach(ch => {
     if (!ch.parent) {
      return console.log('This channel is not listed under a category');
    }
     ch.lockPermissions()
        .then(() => console.log('Successfully synchronized permissions with parent channel'))
        .catch(console.error);
  })
+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte