You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Haha-Yes/commands/utility/server.js

57 lines
1.7 KiB
JavaScript

const { Command } = require('discord-akairo');
const { MessageEmbed } = require('discord.js');
const reload = require('auto-reload');
class ServerCommand extends Command {
constructor() {
super('server', {
aliases: ['server', 'serverinfo'],
category: 'utility',
channelRestriction: 'guild',
description: {
content: 'Show info about the server',
usage: '',
examples: ['']
}
});
}
async exec(message) {
const autoresponse = reload('../../json/autoresponse.json');
let autoresponseStatus;
if (autoresponse[message.channel.id] == undefined || autoresponse[message.channel.id] == 'disable')
autoresponseStatus = 'disabled';
else if (autoresponse[message.channel.id] == 'enable')
autoresponseStatus = 'enabled';
let count;
try {
const customresponse = require(`../../tag/${message.guild.id}.json`);
count = Object.keys(customresponse).length;
} catch (e) {
count = 0;
}
const addEmbed = new MessageEmbed()
.setColor('#0099ff')
.setTitle(message.guild.name)
.setThumbnail(message.guild.iconURL())
.addField('Numbers of users', message.guild.members.filter(member => !member.user.bot).size, true)
.addField('Numbers of bots', message.guild.members.filter(member => member.user.bot).size, true)
.addField('Total numbers of members', message.guild.memberCount, true)
.addField('Numbers of channel', message.guild.channels.size, true)
.addBlankField()
.addField('Date when guild created', message.guild.createdAt, true)
.addField('Owner', message.guild.owner, true)
.addField('Numbers of tag', count, true)
.addField('Autoresponse in this channel', autoresponseStatus, true)
.setTimestamp();
message.channel.send({ embed: addEmbed });
}
}
module.exports = ServerCommand;