diff --git a/src/shared/Database.ts b/src/shared/Database.ts index c54175c..9b4b5aa 100644 --- a/src/shared/Database.ts +++ b/src/shared/Database.ts @@ -242,6 +242,10 @@ export class Database { await Database.db.run('INSERT INTO tickets(id, message_id) VALUES (?, ?)', ticketId, messageId); } + static async removeTicket(ticketId: number) { + await Database.db.run('DELETE from tickets WHERE id = ?', ticketId); + } + static async getTicketMessageId(ticketId: number): Promise { const ticket = await Database.db.get>('SELECT message_id FROM tickets WHERE id = ?', ticketId); return ticket?.message_id; diff --git a/src/shared/RedisClient.ts b/src/shared/RedisClient.ts index efd3b16..c89f77e 100644 --- a/src/shared/RedisClient.ts +++ b/src/shared/RedisClient.ts @@ -315,8 +315,9 @@ async function updateTicket(data: TicketUpdate) { const message = await channel.messages.fetch(messageId); const embed = await createEmbedFromTicket(data.ticket); - if (!message) { + if (!message || message.author.id != config.DISCORD_CLIENT_ID) { const newMessage = await channel.send({ embeds: [embed] }); + await Database.removeTicket(data.ticket.id); await Database.putTicket(data.ticket.id, newMessage.id); } else { await message.edit({ embeds: [embed] });