summaryrefslogtreecommitdiff
path: root/server/src/commands/owner/ServerList.ts
blob: 0927bf5e16ecaf0fc098954d1522675aa0f64ba8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import { Command } from 'discord-akairo';
import { Message } from 'discord.js';

export default class ServerListOwner extends Command {
    public constructor() {
        super('serverlist', {
            aliases: ['serverlist', 'server-list'],
            category: 'owner',
            description: {
                content: 'Check what servers the bot is in.',
                usage: '',
                examples: [
                    ''
                ]
            },
            ratelimit: 3,
            ownerOnly: true
        });
    }
    
    public exec(msg: Message): Promise<Message> {
        const list = this.client.guilds.cache.map(g => {
            const servers = g.name;
            let members = 0;
            g.members.cache.map(m => {
                if (!m.user.bot) members += 1;
            });
            return `- **${servers}:** ${g.id} - ${g.owner?.user.tag} - ${members}`;
        });

        const text = `Total: ${this.client.guilds.cache.size}\n\n### Servers\n\n${list.join("\n")}`;
        return msg.reply({ files: [{ attachment: Buffer.from(text), name: "ServerList.txt" }] });
    }
}