From c3c68c93c82f13641cb62147261505060e91eb6e Mon Sep 17 00:00:00 2001 From: Sin-MacBook Date: Fri, 21 Aug 2020 13:36:56 +0200 Subject: feat: serverlist and leaveserver --- server/src/commands/owner/LeaveServer.ts | 39 ++++++++++++++++++++++++++++++++ server/src/commands/owner/ServerList.ts | 6 ++++- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 server/src/commands/owner/LeaveServer.ts (limited to 'server/src') diff --git a/server/src/commands/owner/LeaveServer.ts b/server/src/commands/owner/LeaveServer.ts new file mode 100644 index 0000000..7785ada --- /dev/null +++ b/server/src/commands/owner/LeaveServer.ts @@ -0,0 +1,39 @@ +import { Command } from 'discord-akairo'; +import { Message } from 'discord.js'; +import request from 'node-superfetch'; + +export default class LeaveServerOwner extends Command { + public constructor() { + super('leaveserver', { + aliases: ['leaveserver'], + category: 'owner', + description: { + content: 'The bot will leave a specified server.', + usage: '[id]', + examples: [ + '123456789012345678' + ] + }, + ratelimit: 3, + ownerOnly: true, + args: [ + { + id: "serverId", + prompt: { + start: "What server would you like to leave?", + optional: false + }, + type: "string" + } + ] + }); + } + + public async exec(msg: Message, { serverId }): Promise { + this.client.guilds.cache.get(serverId).leave().catch(error => { + console.log(error); + return msg.reply("Woops, there was an error leaving that server."); + }); + return msg.reply(`Successfully left a server with the ID of ${serverId}.`) + } +} \ No newline at end of file diff --git a/server/src/commands/owner/ServerList.ts b/server/src/commands/owner/ServerList.ts index 18c618f..e5ed434 100644 --- a/server/src/commands/owner/ServerList.ts +++ b/server/src/commands/owner/ServerList.ts @@ -21,7 +21,11 @@ export default class ServerListOwner extends Command { public exec(msg: Message): Promise { const list = this.client.guilds.cache.map(g => { const servers = g.name; - return `- **${servers}:** ${g.id} - ${g.owner?.user.tag} - ${g.memberCount}`; + 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")}`; -- cgit v1.2.3