MCPcopy Create free account
hub / github.com/RTByte/rtbyte / run

Method run

src/commands/Moderator/unmute.js:21–44  ·  view source on GitHub ↗
(msg, [username])

Source from the content-addressed store, hash-verified

19 }
20
21 async run(msg, [username]) {
22 if (!msg.guild.settings.get('roles.muted') || !msg.guild.roles.cache.has(msg.guild.settings.get('roles.muted'))) await this.createRole(msg.guild);
23
24 if (username.id === msg.author.id) return msg.reject(msg.language.get('COMMAND_UNMUTE_NO_UNMUTE_SELF'));
25 if (username.id === this.client.user.id) return msg.reject(msg.language.get('COMMAND_UNMUTE_NO_UNMUTE_CLIENT'));
26 if (!await msg.member.canMod(username)) return msg.reject(msg.language.get('COMMAND_UNMUTE_NO_PERMS', username));
27
28 const modCase = new ModCase(msg.guild)
29 .setUser(username)
30 .setType('unmute')
31 .setModerator(msg.author);
32 await modCase.submit();
33
34 const member = await msg.guild.members.fetch(username);
35
36 if (!member.roles.cache.has(msg.guild.settings.get('roles.muted'))) return msg.affirm();
37 const mutedRole = await msg.guild.roles.cache.get(msg.guild.settings.get('roles.muted'));
38 await member.roles.remove(mutedRole);
39
40 const embed = await modCase.embed();
41 await embed.send();
42
43 return msg.affirm();
44 }
45
46 async createRole(guild) {
47 const mute = await this.client.commands.get('mute');

Callers

nothing calls this directly

Calls 11

rejectMethod · 0.80
canModMethod · 0.80
setModeratorMethod · 0.80
setTypeMethod · 0.80
setUserMethod · 0.80
submitMethod · 0.80
affirmMethod · 0.80
embedMethod · 0.80
sendMethod · 0.80
createRoleMethod · 0.45
removeMethod · 0.45

Tested by

no test coverage detected