From 77e5b45aa8938039374a436c2886a8927d5c9cda Mon Sep 17 00:00:00 2001 From: Isaac Date: Fri, 25 Aug 2023 01:06:26 +0100 Subject: [PATCH] fix: edit channel name when transferring (closes #470) --- src/commands/slash/transfer.js | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/commands/slash/transfer.js b/src/commands/slash/transfer.js index aa03f9823..dae895f28 100644 --- a/src/commands/slash/transfer.js +++ b/src/commands/slash/transfer.js @@ -42,10 +42,16 @@ module.exports = class TransferSlashCommand extends SlashCommand { const member = interaction.options.getMember('member', true); - let ticket = await client.prisma.ticket.findUnique({ where: { id: interaction.channel.id } }); + const ticket = await client.prisma.ticket.findUnique({ + include: { + category: true, + guild: true, + }, + where: { id: interaction.channel.id }, + }); const from = ticket.createdById; - ticket = await client.prisma.ticket.update({ + await client.prisma.ticket.update({ data: { createdBy: { connectOrCreate: { @@ -54,10 +60,19 @@ module.exports = class TransferSlashCommand extends SlashCommand { }, }, }, - include: { guild: true }, where: { id: interaction.channel.id }, }); + const channelName = ticket.category.channelName + .replace(/{+\s?(user)?name\s?}+/gi, member.user.username) + .replace(/{+\s?(nick|display)(name)?\s?}+/gi, member.displayName) + .replace(/{+\s?num(ber)?\s?}+/gi, ticket.number === 1488 ? '1487b' : ticket.number); + + await interaction.channel.edit({ + name: channelName, + topic: `${member.toString()}${ticket.topic?.length > 0 ? ` | ${decrypt(ticket.topic)}` : ''}`, + }); + await interaction.editReply({ embeds: [ new EmbedBuilder() @@ -71,8 +86,6 @@ module.exports = class TransferSlashCommand extends SlashCommand { ], }); - await interaction.channel.setTopic(`${member.toString()}${ticket.topic?.length > 0 ? ` | ${decrypt(ticket.topic)}` : ''}`); - await interaction.channel.permissionOverwrites.edit( member, {