UNPKG

xfinity

Version:

Easy to use discord.js multipurpose package for your bot

71 lines (65 loc) 2.18 kB
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;