Files
revanced-bots/apps/bot-discord/src/commands/exile.js
GramingFoxTeam 8b9392d97a fix(bot-discord): fix shit
yea
2023-08-13 19:32:53 +03:00

53 lines
1.8 KiB
JavaScript

import { SlashCommandBuilder } from 'discord.js';
import { checkForPerms } from '../utils/checkSupporterPerms.js'
import reportToLogs from '../utils/reportToLogs.js';
import muteMember from '../utils/muteMember.js';
import exileMemberToChannel from '../utils/exileMemberToChannel.js';
export default {
data: new SlashCommandBuilder()
.setName('exile')
.setDescription('Exile a member to support.')
.setDMPermission(false)
.addUserOption(option =>
option
.setName('user')
.setDescription('The member to exile')
.setRequired(true)
)
.addStringOption(option =>
option
.setName('reason')
.setDescription('The reason of the exile')
.setRequired(true)
),
async execute(_, config, interaction) {
if (!checkForPerms(config, interaction.member)) return interaction.reply({
epheremal: true,
content: 'You don\'t have the required permissions.'
});
await interaction.deferReply();
const user = interaction.options.getUser('user');
const member = await interaction.guild.members.fetch(user);
const reason = interaction.options.getString('reason');
const parsedDuration = await muteMember(config, member, {
reason,
supportMute: true,
guild: interaction.guild
});
exileMemberToChannel(member, interaction.channel, null, config, true);
reportToLogs(config, interaction.client, 'muted', null, {
reason,
actionTo: user,
actionBy: interaction.member,
channel: interaction.channel,
expire: parsedDuration
}, interaction);
}
};