0
votes

Discord.js: création de chaînes dans les catégories

Je veux créer un bot qui conçoit un serveur afin que son travail soit de créer des canaux et des rôles afin que le propriétaire n'ait pas à perdre de temps à configurer le serveur. Voici mon code:

  if (message.content === 'tchannel') {
      message.guild.channels.create('Important', {
        type: 'category',
        permissionOverwrites: [
          {
              id: message.guild.id,
              allow: ['VIEW_CHANNEL'],
          }]
      })
      
      message.guild.channels.create('Rules', {
          type: 'text',
          permissionOverwrites: [
              {
                  id: message.guild.id,
                  allow: ['VIEW_CHANNEL'],
              }]
          })
       
  message.channel.send("Channel Created!")
    }

Qu'est-ce que je me demande, s'il existe un moyen de connecter le canal de texte à la catégorie et de ne pas le faire séparément?

( https://media.discordapp.net/attachments/730705963018879007/730771756784156752/lol.PNG )


0 commentaires

3 Réponses :


0
votes

Ajoutez simplement la méthode .then et récupérez-en l'ID parent. Soit vous pouvez attribuer la catégorie à une variable et l'attribuer après si vous voulez l'utiliser pour quelqu'un d'autre.

    message.guild.channels.create('Important', {
        type: 'category',
        permissionOverwrites: [
          {
              id: message.guild.id,
              allow: ['VIEW_CHANNEL'],
          }]
      }).then(cat => {
        message.guild.channels.create('Rules', {
            type: 'text',
            parent: cat.parentID,
            permissionOverwrites: [
                {
                    id: message.guild.id,
                    allow: ['VIEW_CHANNEL'],
                }]
            })
      })


2 commentaires

Merci mais cela n'a malheureusement pas fonctionné; ((Im using v12 btw)


il n'enregistre pas une erreur, il fait simplement la catégorie et le canal de texte séparément



0
votes

Je pense que ce que vous voulez dire, c'est que lorsque vous exécutez la commande pour créer le canal, il doit le créer dans la catégorie du canal actuel.

Si tel est le cas, vous en avez besoin:

const category = client.channels.cache.get(message.channel.parentID)


0 commentaires

1
votes

Il n'était pas nécessaire que le paramètre cat ait cat.parentID . Mettez juste le cat et ça devrait aller.

Exemple de code:

message.guild.channels.create('Important ', {
                type: 'category',
                position: 1,
                permissionOverwrites: [
                    {
                        id: message.guild.id,
                        allow: ['VIEW_CHANNEL'],
                    }]
            }).then(cat => {
                message.guild.channels.create('Rules', {
                    type: 'text',
                    parent: cat,
                    permissionOverwrites: [
                        {
                            id: message.guild.id,
                            allow: ['VIEW_CHANNEL'],
                        }]
                })


0 commentaires