Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- } else if (commandName === 'ticket') {
- await interaction.deferReply({ ephemeral: true });
- const type = interaction.options.getString('type');
- const body = interaction.options.getString('body');
- const ticketChannel = interaction.guild.channels.cache.get('1008036059709456385');
- const ticket_buttons = new ActionRowBuilder()
- .addComponents(
- new ButtonBuilder()
- .setCustomId('claim')
- .setLabel('Claim Ticket')
- .setStyle(ButtonStyle.Success),
- )
- .addComponents(
- new ButtonBuilder()
- .setCustomId('close')
- .setLabel('Close Ticket')
- .setStyle(ButtonStyle.Danger)
- );
- const ticket = new EmbedBuilder()
- .setColor('DarkGrey')
- .setAuthor({ name: `Ticket created by ${interaction.user.tag}`, iconURL: interaction.member.displayAvatarURL() })
- .setTitle(`Ticket - ${type}`)
- .setDescription(`Status: UNCLAIMED\nTicket Author: <@${interaction.user.id}>\nTicket Inquiry: ${body}`)
- .setTimestamp();
- const message = await ticketChannel.send({ embeds: [ticket], components: [ticket_buttons] });
- const dmMessage = await interaction.member.send({ embeds: [ticket] });
- await interaction.editReply({ content: `Ticket has been created!` });
- client.on('interactionCreate', async button => {
- if (!button.isButton()) return;
- if (!button.memberPermissions.has('ModerateMembers')) return button.reply({ content: 'You cannot claim this ticket!', ephemeral: true });
- if (button.customId === 'claim') {
- const editEmbed = new EmbedBuilder()
- .setColor('Green')
- .setAuthor({ name: `Ticket created by ${interaction.user.tag}`, iconURL: interaction.member.displayAvatarURL() })
- .setTitle(`Ticket - ${type}`)
- .setDescription(`Status: CLAIMED BY: <@${button.user.id}\nTicket Author: <@${interaction.user.id}>\nTicket Inquiry: ${body}`)
- .setTimestamp();
- message.edit({ embeds: [editEmbed] });
- dmMessage.edit({ embeds: [editEmbed] });
- button.reply({ content: 'Successfully claimed the ticket!', ephemeral: true });
- } else if (button.customId === 'close') {
- const closeEmbed = new EmbedBuilder()
- .setColor('Red')
- .setAuthor({ name: `Ticket created by ${interaction.user.tag}`, iconURL: interaction.member.displayAvatarURL() })
- .setTitle(`Ticket - ${type}`)
- .setDescription(`Status: CLOSED BY: <@${button.user.id}>\nTicket Author: <@${interaction.user.id}>\nTicket Inquiry: ${body}`)
- .setFooter({ text: 'Ticket Closed' })
- .setTimestamp();
- button.reply({ content: 'Successfully closed the ticket!', ephemeral: true });
- await message.delete();
- interaction.member.send({ embeds: [closeEmbed] });
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment