1 |
rakin |
77 |
import { exit } from "process"; |
2 |
|
|
import DiscordClient from "../../client/Client"; |
3 |
|
|
import BaseCLICommand from "../../utils/structures/BaseCLICommand"; |
4 |
|
|
|
5 |
rakin |
329 |
export default class GuildLeaveCommand extends BaseCLICommand { |
6 |
rakin |
77 |
requiredArgs = 1; |
7 |
|
|
|
8 |
|
|
constructor() { |
9 |
rakin |
329 |
super('guildleave', 'guild'); |
10 |
rakin |
77 |
} |
11 |
|
|
|
12 |
|
|
async run(client: DiscordClient, argv: string[], args: string[]) { |
13 |
|
|
const guild_id = args.shift()!; |
14 |
|
|
let reason: string | null = null; |
15 |
|
|
|
16 |
|
|
if (args.length > 0) |
17 |
|
|
reason = args.join(' '); |
18 |
|
|
|
19 |
|
|
const guild = await client.guilds.cache.get(guild_id); |
20 |
|
|
|
21 |
|
|
if (!guild) { |
22 |
|
|
console.error("Failed to find a guild with ID " + guild_id); |
23 |
|
|
exit(-1); |
24 |
|
|
} |
25 |
|
|
|
26 |
|
|
await guild.leave(); |
27 |
|
|
|
28 |
rakin |
329 |
console.log(`Succesfully left guild: ${guild.name} (${guild.id})`); |
29 |
rakin |
77 |
|
30 |
|
|
await exit(0); |
31 |
|
|
} |
32 |
|
|
} |