summaryrefslogtreecommitdiff
path: root/src/commands/server/server.ts
blob: 974a435e127c3ec46db355f81c52af923dcfa6e6 (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import { Command, CommandoMessage, CommandoClient } from 'discord.js-commando';
import { MessageEmbed } from 'discord.js';

module.exports = class ServerServer extends Command {
    constructor(client: CommandoClient) {
        super(client, {
            name: 'server',
            aliases: [
                'serverinfo',
                'si',
                'server-info',
                'serverstats',
                'server-stats'
            ],
            group: 'server',
            memberName: 'server',
            description: 'Gives you information about the current server.',
            throttling: {
                usages: 5,
                duration: 30
            },
            guildOnly: true,
            examples: [
                'uwu!server',
                'uwu!serverinfo',
                'uwu!server-info',
                'uwu!serverstats',
                'uwu!server-stats',
                'uwu!si'
            ],
            userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
			clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY']
        });
    }
    run(msg: CommandoMessage) {
        var o = msg.guild.members.cache.filter(m => m.presence.status === 'online').size;

        let embed = new MessageEmbed()

            .setAuthor(`${msg.guild.name} - ${msg.guild.id}`, `${msg.guild.iconURL()}`, `https://discordapp.com/channels/${msg.guild.id}/${msg.guild.id}`)
            .setDescription(`Here\'s all the information on \`${msg.guild.name}\``)
            .setThumbnail(`${msg.guild.iconURL()}`)
            .addField('Owner', `${msg.guild.owner}`, true)
            .addField(`Members [${msg.guild.memberCount}]`, `${o} members are online.`, true)
            .addField('Region', `${msg.guild.region}`, true)
            .addField('Text channels', `${msg.guild.channels.cache.filter(c => c.type === 'text').size}`, true)
            .addField('Voice channels', `${msg.guild.channels.cache.filter(c => c.type === 'voice').size}`, true)
            .addField('Guild created', `${msg.guild.createdAt}`, false)
            .addField(`${this.client.user?.username} joined`, `${msg.guild.members.cache.get('699473263998271489')?.joinedAt}`)
            .setColor(0xFFCC4D);

        return msg.say(embed);
    }
};