Added more Commands
This commit is contained in:
94
commands/admin/say.js
Normal file
94
commands/admin/say.js
Normal file
@@ -0,0 +1,94 @@
|
||||
const Discord = require("discord.js");
|
||||
module.exports = {
|
||||
name: 'say',
|
||||
description: '[ 💭 Say ] Send a message in an Embed',
|
||||
options: [
|
||||
{
|
||||
name: "channel",
|
||||
description: "Select the channel where you want to send the Embed message!",
|
||||
type: Discord.ApplicationCommandOptionType.Channel,
|
||||
channelTypes: [
|
||||
Discord.ChannelType.GuildText,
|
||||
Discord.ChannelType.GuildAnnouncement,
|
||||
],
|
||||
required: true
|
||||
},
|
||||
],
|
||||
|
||||
run: async(client, interaction) => {
|
||||
let noPermissionEmbed = new Discord.EmbedBuilder()
|
||||
.setTitle("**Permission Error**")
|
||||
.setDescription(`
|
||||
**Discord BOT**
|
||||
|
||||
|
||||
🚫 Access denied for this command! 🚫
|
||||
|
||||
|
||||
${interaction.user}
|
||||
`)
|
||||
.setAuthor({ name: `${interaction.user.username}`, iconURL: `${interaction.user.displayAvatarURL()}`})
|
||||
.setColor("Red")
|
||||
|
||||
if(!interaction.member.permissions.has(Discord.PermissionsBitField.Flags.Administrator)) {
|
||||
interaction.reply({embeds: [noPermissionEmbed], ephemeral: true})
|
||||
} else {
|
||||
let channel = await interaction.options.getChannel("channel");
|
||||
|
||||
// Modal
|
||||
const modal = new Discord.ModalBuilder()
|
||||
.setCustomId("modalsay")
|
||||
.setTitle("Embed Say")
|
||||
|
||||
// Modal: Create Inputs
|
||||
const titleInput = new Discord.TextInputBuilder()
|
||||
.setCustomId("titleInput")
|
||||
.setLabel("Embed Title")
|
||||
.setStyle(Discord.TextInputStyle.Short)
|
||||
|
||||
const descriptionInput = new Discord.TextInputBuilder()
|
||||
.setCustomId("descriptionInput")
|
||||
.setLabel("Embed Description")
|
||||
.setStyle(Discord.TextInputStyle.Paragraph)
|
||||
.setRequired()
|
||||
|
||||
const colorInput = new Discord.TextInputBuilder()
|
||||
.setCustomId("colorInput")
|
||||
.setLabel("Embed Color")
|
||||
.setStyle(Discord.TextInputStyle.Short)
|
||||
|
||||
// Modal: Add Inputs to Modal
|
||||
const titleRow = new Discord.ActionRowBuilder().addComponents(titleInput)
|
||||
const descriptionRow = new Discord.ActionRowBuilder().addComponents(descriptionInput)
|
||||
const colorRow = new Discord.ActionRowBuilder().addComponents(colorInput)
|
||||
|
||||
modal.addComponents(titleRow, descriptionRow, colorRow)
|
||||
|
||||
await interaction.showModal(modal)
|
||||
|
||||
client.once("interactionCreate", async (interaction) => {
|
||||
if(!interaction.isModalSubmit()) return;
|
||||
if (interaction.customId === 'modalsay') {
|
||||
|
||||
// SEND MODAL
|
||||
const titleEmbed = interaction.fields.getTextInputValue("titleInput")
|
||||
const descriptionEmbed = interaction.fields.getTextInputValue("descriptionInput")
|
||||
const colorEmbed = interaction.fields.getTextInputValue("colorInput")
|
||||
|
||||
const embed = new Discord.EmbedBuilder()
|
||||
.setColor(`${colorEmbed}`)
|
||||
.setTitle(`${titleEmbed}`)
|
||||
.setDescription(`${descriptionEmbed}`)
|
||||
.setThumbnail(interaction.guild.iconURL())
|
||||
.setTimestamp()
|
||||
.setFooter({text: `${interaction.guild.name}`, iconURL: `${interaction.guild.iconURL()}`});
|
||||
|
||||
await channel.send({embeds: [embed]});
|
||||
await interaction.reply({content: `Message successfully sent! ${channel}`, ephemeral: true});
|
||||
|
||||
// END SEND MODAL
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user