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

Method run

src/tasks/timedMute.js:6–29  ·  view source on GitHub ↗
({ guildID, userID, modID })

Source from the content-addressed store, hash-verified

4module.exports = class extends Task {
5
6 async run({ guildID, userID, modID }) {
7 const guild = this.client.guilds.cache.get(guildID);
8 if (!guild.available) return;
9 const member = await guild.members.fetch(userID).catch(() => null);
10 if (!member) return;
11 const mod = await guild.members.fetch(modID).catch(() => null);
12 if (!mod) return;
13 const mutedRole = await guild.roles.cache.get(guild.settings.get('roles.muted'));
14 if (!member.roles.cache.has(guild.settings.get('roles.muted'))) return;
15
16 await member.roles.remove(mutedRole);
17
18 const modCase = new ModCase(guild)
19 .setUser(member.user)
20 .setType('unmute')
21 .setReason(guild.language.get('TASK_TIMEDMUTE_EXPIRE'))
22 .setModerator(mod.user);
23 await modCase.submit();
24
25 const embed = await modCase.embed();
26 await embed.send();
27
28 return;
29 }
30
31};

Callers

nothing calls this directly

Calls 8

setModeratorMethod · 0.80
setReasonMethod · 0.80
setTypeMethod · 0.80
setUserMethod · 0.80
submitMethod · 0.80
embedMethod · 0.80
sendMethod · 0.80
removeMethod · 0.45

Tested by

no test coverage detected