all repos — stealth-developers @ 5bc27f121237791494787032c6be0e7e9c7c467a

fix(tickets): perm checks
vi v@vt3e.cat
Tue, 24 Mar 2026 06:11:52 +0000
commit

5bc27f121237791494787032c6be0e7e9c7c467a

parent

aac6b006fb769d5cb784e4a2f83f7d1fcdaf01ef

1 files changed, 16 insertions(+), 0 deletions(-)

jump to
M src/interactions/commands/tickets/actions.tssrc/interactions/commands/tickets/actions.ts

@@ -203,6 +203,11 @@ .setCustomId("ticket:reopen")

.setLabel("Reopen") .setStyle(ButtonStyle.Success) .setEmoji("🔓"), + new ButtonBuilder() + .setCustomId("ticket:delete") + .setLabel("Delete") + .setStyle(ButtonStyle.Danger) + .setEmoji("🗑️"), ); await channel.send({

@@ -456,6 +461,17 @@ _client: Client,

interaction: ButtonInteraction | ChatInputCommandInteraction, ticket: Ticket, ) { + const isModerator = await hasManagerPermissions( + interaction.member as GuildMember, + ); + const isReporter = interaction.user.id === ticket.authorId; + if (!isModerator && !isReporter) { + await interaction.editReply( + "❌ You don't have permission to generate a transcript for this ticket.", + ); + return; + } + const [transcriptText] = await generateTranscript(ticket); if (interaction.channel?.isSendable())