blob: 2b769bbffa8383c718f0de637d46bcf2424ac6b2 [file] [log] [blame]
import Discord, { CommandInteraction, MessageActionRow, Message } from "discord.js";
import EmojiEmbed from "./generateEmojiEmbed.js"
class confirmationMessage {
interaction: CommandInteraction;
title: string;
emoji: string;
description: string;
color: string;
constructor(interaction: CommandInteraction) {
this.interaction = interaction;
this.title = "";
this.emoji = "";
this.description = "";
this.color = "";
}
setTitle(title: string) { this.title = title; return this }
setEmoji(emoji: string) { this.emoji = emoji; return this }
setDescription(description: string) { this.description = description; return this }
setColor(color: string) { this.color = color; return this }
async send() {
let m = await this.interaction.reply({
embeds: [
new EmojiEmbed()
.setEmoji(this.emoji)
.setTitle(this.title)
.setDescription(this.description)
.setStatus(this.color)
],
components: [
new MessageActionRow().addComponents([
new Discord.MessageButton()
.setCustomId("yes")
.setLabel("Yes")
.setStyle("SUCCESS"),
new Discord.MessageButton()
.setCustomId("no")
.setLabel("Cancel") // TODO:
.setStyle("DANGER")
])
],
ephemeral: true,
fetchReply: true
})
let component;
try {
component = await (m as Message).awaitMessageComponent({filter: (m) => m.user.id === this.interaction.user.id, time: 2.5 * 60 * 1000});
} catch (e) {
return false; // TODO: Check the type of the error; change the error message here
}
return component.customId === "yes"
}
}
export default confirmationMessage;