Разрешение перезаписи не изменено discord.js v12

#node.js #discord #discord.js

#node.js #Discord #discord.js

Вопрос:

Я обновил почти все ботом после discord.js v12 но у меня проблема с последней командой, разрешения не применяются, в чем может быть проблема?

  if(userTickets.has(message.author.id) || message.guild.channels.cache.some(channel => channel.name.toLowerCase() === message.author.username   's-ticket')) {
        message.author.send("EN: You already have a ticket!");
    } else {
        let guild = message.guild;
        message.guild.channels.create("📄- "   `${message.author.username}s-ticket`, {
            type: 'text',
            createOverwrite:[
                {
                    id: message.author.id,
                    allow: 'VIEW_CHANNEL',
                },
                {
                    id: guild.id, 
                    deny: 'VIEW_CHANNEL',
                },
                {
                    id: '',
                    allow: 'VIEW_CHANNEL',
                }
            ]
        }).then(ch => {
            ch.setParent('');
            ch.send("=")
            userTickets.set(message.author.id, ch.id);
            let sChannel = message.guild.channels.cache.get("=")
            sChannel.send("Created "   ch.name   " channel.")
            //console.log(userTickets);
            console.log(userTickets)
        }).catch(err => console.log(err));
    }

  

Ответ №1:

Вместо createOverwrite , используйте permissionOverwrites .

         let guild = message.guild;
        message.guild.channels.create("📄- "   `${message.author.username}s-ticket`, {
            type: 'text',
            permissionOverwrites:[
                {
                    id: message.author.id,
                    allow: ['VIEW_CHANNEL'],
                },
                {
                    id: guild.id, 
                    deny: ['VIEW_CHANNEL'],
                }
            ],
            parent: '' //parent id here
        }).then(ch => {
            ch.send("=")
            userTickets.set(message.author.id, ch.id);
        }).catch(err => console.log(err));
  

Вы также можете вместо установки родительского элемента после создания канала просто установить канал при его создании.