import { Client, Guild } from 'discord.js-selfbot-v13'; const token = ''; class InfoClient extends Client { public constructor() { super(); this.init(); } private async init(): Promise { this.once('ready', () => this.onReady()); await this.login(token); } private onReady(): void { console.log(`Logged in as ${this.user?.tag}!`); const guildData: { [key: string]: { [key: string]: string[] } } = {}; this.guilds.cache.forEach((guild: Guild) => { const guildInfo: { [key: string]: string[] } = {}; console.log(`Guild: ${guild}`); const channels = guild.channels.cache; console.log(`There are ${channels.size} channels in the guild.`); channels.forEach(channel => { if (channel && channel.type !== 'GUILD_CATEGORY') { const categoryName = channel.parent?.name || 'Uncategorized'; const categoryID = channel.parent?.id || 'Uncategorized'; if (!guildInfo[categoryName]) { guildInfo[categoryName] = []; } guildInfo[categoryName].push(`${channel.name} (${channel.type} ${channel.id})`); } }); guildData[guild.name] = guildInfo; }); //console.log(guildData) const jsonData = JSON.stringify(guildData, null, 2); console.log(jsonData) process.exit(); } } new InfoClient();