archiving tickets

This commit is contained in:
Danya H 2024-06-08 18:18:31 +01:00
parent aabcdbdadf
commit a4a58f0d83
2 changed files with 6 additions and 2 deletions

View File

@ -181,12 +181,16 @@ export class CreateTicketSystem {
@ButtonComponent({ id: 'close-btn' })
async closeBtn(interaction: ButtonInteraction): Promise<void> {
await interaction.deferReply()
if (!interaction.channel) {
await interaction.editReply('❌ Ticket channel does not exist')
return
}
if (interaction.channel.isThread()) {
if (interaction.channel.isThread() && !interaction.channel.archived) {
await interaction.editReply('Closing ticket..')
await interaction.channel.setArchived(true, `Archived by ${userMention(interaction.user.id)}(${interaction.user.id})`)
}
return
}
await interaction.editReply('❌ Ticket is not a thread')
}
}

View File

@ -98,7 +98,7 @@ export function ticketEntityEmbed({ username }: TicketEntityEmbedProps) {
export function ticketEntityButton() {
const closeBtn = new ButtonBuilder()
.setLabel('Close ticket')
.setLabel('Archive ticket')
.setStyle(ButtonStyle.Danger)
.setCustomId('close-btn')