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

Method run

src/commands/Moderator/kick.js:20–49  ·  view source on GitHub ↗
(msg, [username, ...reason])

Source from the content-addressed store, hash-verified

18 }
19
20 async run(msg, [username, ...reason]) {
21 if (!Array.isArray(reason) || !reason.length) reason.unshift('Unspecified');
22 const silent = reason[0].endsWith('-s');
23 if (silent) reason[0].replace('-s', '');
24
25 if (username.id === msg.author.id) return msg.reject(msg.language.get('COMMAND_KICK_NO_KICK_SELF'));
26 if (username.id === this.client.user.id) return msg.reject(msg.language.get('COMMAND_KICK_NO_KICK_CLIENT'));
27 if (!msg.member.canMod(username)) return msg.reject(msg.language.get('COMMAND_KICK_NO_PERMS', username));
28
29 reason += ' (fc)';
30
31 const modCase = new ModCase(msg.guild)
32 .setUser(username)
33 .setType('kick')
34 .setReason(reason)
35 .setModerator(msg.author)
36 .setSilent(silent);
37 await modCase.submit();
38
39 const member = await msg.guild.members.fetch(username);
40
41 const embed = await modCase.embed();
42 await embed.send();
43
44 await member.kick(reason);
45
46 if (silent) return msg.delete({ reason: msg.language.get('COMMAND_MODERATION_SILENT') });
47
48 return msg.affirm();
49 }
50
51};

Callers

nothing calls this directly

Calls 12

rejectMethod · 0.80
canModMethod · 0.80
setSilentMethod · 0.80
setModeratorMethod · 0.80
setReasonMethod · 0.80
setTypeMethod · 0.80
setUserMethod · 0.80
submitMethod · 0.80
embedMethod · 0.80
sendMethod · 0.80
affirmMethod · 0.80
deleteMethod · 0.45

Tested by

no test coverage detected