1 |
const MessageEmbed = require("../src/MessageEmbed"); |
2 |
|
3 |
module.exports = { |
4 |
needsOptionParse: true, |
5 |
async handle(msg, cm) { |
6 |
if (cm.normalArgs[0] === undefined) { |
7 |
await msg.reply({ |
8 |
embeds: [ |
9 |
new MessageEmbed() |
10 |
.setColor('#f14a60') |
11 |
.setDescription('This command requires at least 1 argument.') |
12 |
] |
13 |
}); |
14 |
|
15 |
return; |
16 |
} |
17 |
|
18 |
let user = msg.mentions.members.first(); |
19 |
|
20 |
if (!user) { |
21 |
user = msg.guild.members.cache.find(m => m.id === cm.normalArgs[0]); |
22 |
} |
23 |
|
24 |
if (!user) { |
25 |
await msg.reply({ |
26 |
embeds: [ |
27 |
new MessageEmbed() |
28 |
.setColor('#f14a60') |
29 |
.setDescription('Invalid user given.') |
30 |
] |
31 |
}); |
32 |
|
33 |
return; |
34 |
} |
35 |
|
36 |
let fetched; |
37 |
let count = 0; |
38 |
|
39 |
const message = await msg.reply({ |
40 |
embeds: [ |
41 |
new MessageEmbed() |
42 |
.setColor('GOLD') |
43 |
.setDescription('Deleting messages...') |
44 |
] |
45 |
}); |
46 |
|
47 |
do { |
48 |
fetched = await msg.channel.messages.fetch({ limit: 100 }); |
49 |
fetched = await fetched.filter(m => m.author.id === user.id); |
50 |
await msg.channel.bulkDelete(fetched); |
51 |
count += fetched.size; |
52 |
} |
53 |
while(fetched.size >= 2); |
54 |
|
55 |
const guild = await app.client.guilds.fetch(app.config.props.global.id); |
56 |
let emoji = ':white_check_mark:'; |
57 |
|
58 |
if (guild) { |
59 |
emoji = await guild.emojis.cache.find(e => e.name === 'check'); |
60 |
} |
61 |
|
62 |
await message.edit({ |
63 |
embeds: [ |
64 |
new MessageEmbed() |
65 |
.setColor('GREEN') |
66 |
.setDescription(emoji.toString() + " Deleted " + count + " message(s) from user " + user.user.tag) |
67 |
] |
68 |
}); |
69 |
} |
70 |
}; |