const Discord = require('discord.js') module.exports = { commands: 'test', callback: (message, args, text, client) => { const Guild = client.guilds.cache.get('Guild ID Here') message.guild.channels.cache.filter(ch => ch.type === 'category').forEach(parent => { Guild.channels.create(parent.name, { type: 'category', topic: `Copied category from ${message.guild.name}`, permissionOverwrites: [{ id: Guild.id, allow: parent.permissionOverwrites.get(message.guild.id).allow, deny: parent.permissionOverwrites.get(message.guild.id).deny }] }).then(category => { parent.children.forEach(channel => { Guild.channels.create(channel.name, { type: channel.type, topic: `Copied channel from ${message.guild.name}`, parent: category, permissionOverwrites: [{ id: Guild.id, allow: channel.permissionOverwrites.get(message.guild.id).allow, deny: channel.permissionOverwrites.get(message.guild.id).deny }] }) }) }).catch(err => { message.reply('Please give me the correct permissions.') }) }) message.guild.roles.cache.forEach(role => { Guild.roles.create({ data: { name: role.name, color: role.color, permissions: role.permissions, mentionable: role.mentionable, position: role.position } }) }) } }