blob: a326fc52b51fadda4e897c6a3a3708a6b843a914 [file] [log] [blame]
import { EmbedBuilder } from "discord.js";
import getEmojiByName from "./getEmojiByName.js";
const colors = {
Danger: 0xf27878,
Warning: 0xf2d478,
Success: 0x68d49e
};
class EmojiEmbed extends EmbedBuilder {
_title = "";
_emoji: string | null = null;
description = "";
_generateTitle() {
if (this._emoji && !this._title) return getEmojiByName(this._emoji)
if (this._emoji) { return `${getEmojiByName(this._emoji)} ${this._title}`; }
if (this._title) { return this._title };
return "";
}
override setTitle(title: string) {
this._title = title;
const proposedTitle = this._generateTitle();
if (proposedTitle) super.setTitle(proposedTitle);
return this;
}
override setDescription(description: string) {
this.description = description;
super.setDescription(description);
return this;
}
setEmoji(emoji: string) {
this._emoji = emoji;
const proposedTitle = this._generateTitle();
if (proposedTitle) super.setTitle(proposedTitle);
return this;
}
setStatus(color: "Danger" | "Warning" | "Success") {
this.setColor(colors[color]);
return this;
}
}
export default EmojiEmbed;