const { ButtonKit } = require("commandkit") const { EmbedBuilder, ButtonStyle, ActionRowBuilder, MessageFlags } = require("discord.js") require("dotenv").config() const showChangeAmtModal = require("./changeAmount/Modal") module.exports = async function ticketctrls(channel, rbx, payment,customer) { const welcomeEmbed = new EmbedBuilder() .setTitle("New order!") .setDescription(`an order for <:Robux:1379564749624180846> ${rbx}`) .addFields( {name:"payment method", value:payment} ) .setColor("Blue") const deleteButton = new ButtonKit() .setCustomId("deletebtn") .setEmoji("🗑️") .setLabel("Delete") .setStyle(ButtonStyle.Danger) const changeAmtButton = new ButtonKit() .setCustomId("changeamount") .setEmoji("💱") .setLabel("Change Robux Amount") .setStyle(ButtonStyle.Primary) const claimButton = new ButtonKit() .setCustomId("claim") .setEmoji("✋") .setLabel("Claim") .setStyle(ButtonStyle.Success) const actionRow = new ActionRowBuilder().addComponents(deleteButton, changeAmtButton, claimButton) const msg = await channel.send({embeds:[welcomeEmbed], components:[actionRow]}) const staffGhostPing = await channel.send(`<@&${process.env.OWNER_ROLE}>`) await staffGhostPing.delete() deleteButton.onClick(async(deleteInt) => { if (!deleteInt.member.roles.cache.has(process.env.OWNER_ROLE)) { await deleteInt.reply({content: "> <:forbidden:1376302059711627395> This is a staff only button!", ephemeral: true}) return } try { await customer.send({content:"Your ticket has been closed"}) } catch (error11) { console.log(`some fuckery occured with ur closure shit. heres more dets: ${error11}`) } await deleteInt.channel.delete() }, {message: msg}) changeAmtButton.onClick(async(changeInt) => { await changeInt.showModal(await showChangeAmtModal(changeInt)) }, {message: msg}) claimButton.onClick(async(claimInt) => { if (!claimInt.member.roles.cache.has(process.env.OWNER_ROLE)) { await claimInt.reply({content: "> <:forbidden:1376302059711627395> This is a staff only button!", ephemeral: true}) return } const embed = new EmbedBuilder() .setTitle("Ticket Claimed") .setDescription(`This ticket has been claimed by <@${claimInt.user.id}>`) .setColor("Green") await claimInt.reply({content:"> <:yes:1376302076333785108> successfully claimed ticket", ephemeral:true}) await claimInt.channel.send({embeds:[embed]}) const claimedButton = new ButtonKit() .setCustomId("claimed") .setEmoji("✋") .setLabel("Claimed") .setStyle(ButtonStyle.Success) .setDisabled(true) const updatedRow = new ActionRowBuilder().addComponents(deleteButton,changeAmtButton,claimedButton) await msg.edit({components:[updatedRow]}) }) }