@halpz/fetch
Version:
discordbot commands using js
77 lines (65 loc) • 1.69 kB
JavaScript
const { CommandInteraction, EmbedBuilder } = require('discord.js')
module.exports = timeout_member
/**
*
* @param {string} value
* @param {CommandInteraction} interaction
*/
async function timeout_member(client, interaction, user, target, time, value, reason) {
try {
const AuthorMember = interaction.guild.members.cache.find(member => member.id === user.id)
const targetMember = interaction.guild.members.cache.find(member => member.id === target.id)
if (AuthorMember.roles.highest.position > targetMember.roles.highest.position) {
var temp;
switch (value) {
case 'Seconds':
temp = time;
break;
case 'Minutes':
temp = time * 60;
break;
case 'Hours':
temp = time * 60 * 60;
break;
case 'Days':
temp = time * 60 * 60 * 24;
break;
case 'Weeks':
temp = time * 60 * 60 * 24 * 7;
break;
default:
temp = 0;
break;
}
await targetMember.timeout(temp * 1000, reason)
return [
new EmbedBuilder()
.setColor(client.get_color())
.addFields({
name: `You have timeouted ${targetMember.displayName} in ${time} ${value.toLowerCase()}`,
value: `Reason: ${reason}`,
})
]
}
else {
return [
new EmbedBuilder()
.setColor(client.get_color())
.addFields({
name: `You can't timeout ${targetMember.displayName}`,
value: `Error: Missing permission`,
})
]
}
}
catch (e) {
return [
new EmbedBuilder()
.setColor(client.get_color())
.addFields({
name: `You can't do this action`,
value: `Error: ${e}`
})
]
}
}