xfinity
Version:
Easy to use discord.js multipurpose package for your bot
71 lines (65 loc) • 2.18 kB
JavaScript
const {
MessageEmbed,
MessageButton,
MessageActionRow,
CommandInteraction,
} = require("discord.js");
/**
*
* @param {CommandInteraction} message - The discord interaction class
* @param {*} options - Valid options
*/
async function bTicket(message, options = []) {
const noperm = new MessageEmbed()
.setTitle(":x: ERROR :x:")
.setColor("RED")
.setDescription("You dont have permissions to setup ticket system.")
.setFooter(
`Requested by - ${message.member.user.tag}`,
message.member.user.displayAvatarURL({ dynamic: true })
)
.setThumbnail(message.guild.iconURL({ dynamic: true }));
if (!message.member.permissions.has("MANAGE_GUILD"))
message.followUp({ embeds: [noperm] });
if (!message.guild.me.permissions.has("MANAGE_CHANNELS"))
return message.followUp({
content:
"I dont have any permissions to work with ticket system | Needed Permission: MANAGE_CHANNELS",
});
if (options.bcolor) {
if (options.bcolor === "grey") {
options.bcolor = "SECONDARY";
} else if (options.bcolor === "red") {
options.bcolor = "DANGER";
} else if (options.bcolor === "green") {
options.bcolor = "SUCCESS";
} else if (options.bcolor === "blurple") {
options.bcolor = "PRIMARY";
} else if (options.bcolor === "gray") {
options.bcolor = "SECONDARY";
}
} else {
options.bcolor = "PRIMARY";
}
const bticket = new MessageButton()
.setStyle(options.bcolor)
.setEmoji(options.emoji || "📬")
.setLabel("Ticket")
.setCustomId("start");
const oof = new MessageActionRow().addComponents(bticket);
const doneembed = new MessageEmbed()
.setTitle("Ticket")
.setDescription(
"📬 Create a ticket by clicking on the following button. 📬"
)
.setThumbnail(message.guild.iconURL())
.setTimestamp()
.setColor("#075FFF")
.setFooter(message.guild.name);
try {
message.followUp({ embeds: [doneembed], components: [oof] });
} catch (e) {
message.followUp({ content: "Error sending message." });
}
}
module.exports = bTicket;