Skip to content

Commit ada2398

Browse files
committed
Added timed mutes (timeout)
1 parent 74b464d commit ada2398

1 file changed

Lines changed: 36 additions & 11 deletions

File tree

commands/Moderation/mute.js

Lines changed: 36 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
//MUTE COMMAND
2-
31
const mongo = require('../../schemas/mongo')
42
const warnShema = require('../../schemas/schema')
53

@@ -18,25 +16,52 @@ module.exports = {
1816
if (modOrAdmin) {
1917
const target = message.mentions.users.first()
2018
if (target) {
21-
let mainRole = message.guild.roles.cache.find(role => role.name === 'member') || message.guild.roles.cache.find(role => role.name === 'shrimp');
2219
let mutedRole = message.guild.roles.cache.find(role => role.name === 'Muted');
2320

2421

2522
memberTarget = message.guild.members.cache.get(target.id)
26-
if (memberTarget.permissions.has('MUTE_MEMBERS') && !message.member.permissions.has('ADMINISTRATOR')) {
23+
if (memberTarget.permissions.has('VIEW_AUDIT_LOG') && !message.member.permissions.has('ADMINISTRATOR')) {
2724
message.channel.send('Be a good mod.');
28-
}
29-
else if (!args[1]) {
30-
3125
}
3226
else {
33-
memberTarget.roles.add(mutedRole.id)
34-
35-
27+
let time
28+
if (!isNaN(args[1])) {
29+
time = args[1]
30+
timeUnits = args[2]
31+
if (!args[2]) {
32+
return message.channel.send("mention the units of time\n's' for seconds, 'm' for minutes, 'hr' for hours, 'd' for days and 'w' for weeks")
33+
}
34+
switch (timeUnits) {
35+
case 's':
36+
time = args[1] * 1000
37+
break
38+
case 'm':
39+
time = args[1] * 60 * 1000
40+
break
41+
case 'hr':
42+
time = args[1] * 60 * 60 * 1000
43+
break
44+
case 'd':
45+
time = args[1] * 24 * 60 * 60 * 1000
46+
break
47+
case 'w':
48+
time = args[1] * 7 * 24 * 60 * 60 * 1000
49+
break
50+
default:
51+
return message.channel.send("invalid units\n's' for seconds, 'm' for minutes, 'hr' for hours, 'd' for days and 'w' for weeks")
52+
}
53+
const tar = message.mentions.users.first()
54+
let mem = message.guild.members.cache.get(tar.id)
55+
mem.timeout(time, args.slice(3).join(' '))
56+
} else {
57+
memberTarget.roles.add(mutedRole.id)
58+
}
3659
const guildId = message.guild.id;
3760
const userId = target.id;
3861
let reason = 'Undefined'
39-
if (args[1]) {
62+
if (args[1] && !isNaN(args[1])) {
63+
reason = args.slice(3).join(' ')
64+
} else {
4065
reason = args.slice(1).join(' ')
4166
}
4267
var infrID = parseInt('1', 10);

0 commit comments

Comments
 (0)