artibot
Version:
Modern, fast and modular open-source Discord bot
42 lines • 1.74 kB
JavaScript
import { EmbedBuilder, PermissionsBitField } from "discord.js";
/** Slash command to create an embed */
export default async function execute(interaction, { config, localizer, createEmbed }) {
let embed;
if (!interaction.inGuild()) {
await interaction.reply({
content: localizer._("This command can only be used in a server."),
ephemeral: true
});
return;
}
if (interaction.memberPermissions.has(PermissionsBitField.Flags.Administrator)) {
const title = interaction.options.getString("title");
const color = interaction.options.getString("color");
const content = interaction.options.getString("content").replace(/\\r\\n|\\n|<br>/g, "\n");
const footerText = interaction.options.getString("footer");
const date = interaction.options.getBoolean("date");
embed = new EmbedBuilder()
.setColor(color ?? config.embedColor)
.setTitle(title)
.setDescription(content);
if (footerText)
embed.setFooter({ text: footerText });
if (date)
embed.setTimestamp();
await interaction.channel.send({ embeds: [embed] });
embed = createEmbed()
.setTitle(localizer._("Create an embed"))
.setDescription(localizer.__("The embed *[[0]]* should have been created.", { placeholders: [title] }));
}
else {
embed = createEmbed()
.setColor("Red")
.setTitle(localizer._("Create an embed"))
.setDescription(localizer._("Error: you don't have admin perms!"));
}
await interaction.reply({
embeds: [embed],
ephemeral: true
});
}
//# sourceMappingURL=embed.js.map