Files
illegitimate-bot/events/buttons/staffapplicationaccept.js
2023-04-24 22:02:52 +00:00

66 lines
2.2 KiB
JavaScript

const { ActionRowBuilder, ButtonBuilder, ButtonStyle } = require('discord.js');
const { color } = require('../../config/options.json');
const staffapp = require('../../schemas/staffAppSchema.js');
module.exports = {
name: 'staffapplicationaccept',
description: 'Accept a staff application.',
type: 'button',
async execute(interaction) {
const user = interaction.user;
const channel = interaction.channel;
const guild = interaction.guild;
const embedColor = Number(color.replace("#", "0x"));
const message = interaction.message;
const embed = message.embeds[0];
const applicantId = embed.footer.text.split(" ")[1]
const applicant = await guild.members.fetch(applicantId)
const applicantUsername = applicant.user.username + "#" + applicant.user.discriminator;
await applicant.send({
embeds: [{
description: `Your application for the Illegitimate staff team has been accepted.`,
color: embedColor
}]
});
await message.edit({
components: [
new ActionRowBuilder().addComponents(
new ButtonBuilder()
.setCustomId("staffapplicationaccept")
.setLabel("Accept")
.setStyle(ButtonStyle.Primary)
.setDisabled(true),
new ButtonBuilder()
.setCustomId("staffapplicationdeny")
.setLabel("Deny")
.setStyle(ButtonStyle.Danger)
.setDisabled(true)
)
]
});
await staffapp.findOneAndDelete({ userId: applicantId });
await interaction.reply({
embeds: [{
title: applicantUsername + " - Staff Application.",
description: "Application accepted by <@" + user.id + ">.",
color: embedColor,
thumbnail: {
url: applicant.avatarURL()
},
footer: {
iconurl: guild.iconURL(),
text: "ID: " + applicantId
}
}]
});
}
}