Skip to content

Commit 226ea45

Browse files
author
xyzjesper
committed
Fixed Ticket Invalid string length in ticket-add-component-use-messageurl. Fixed Ticket creation and added ticket creation reply. Fixed issue #9 with this!
1 parent ed71854 commit 226ea45

10 files changed

+81
-81
lines changed

src/helper/ticketHelper.ts

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ export async function ticketHelper(
4949
user = interaction.member as GuildMember;
5050
}
5151

52+
5253
const data = await database.ticketSetups.findFirst({
5354
include: {
5455
ModalOptions: true,
@@ -62,13 +63,10 @@ export async function ticketHelper(
6263

6364
// Validate Ticket
6465
if (data.TicketPermissions.length <= 0) {
65-
return;
66-
} else {
6766
const isOneTicketMod = data.TicketPermissions.some((p) => p.IsHandler == true)
6867
if (!isOneTicketMod) {
6968
return;
7069
}
71-
7270
}
7371

7472
// EnableTicketsOnlyFromTime
@@ -160,7 +158,7 @@ export async function ticketHelper(
160158
}
161159

162160
// RequiredRoles
163-
if (data.RequiredRoles) {
161+
if (data.RequiredRoles.length > 0) {
164162
if (!user.roles.cache.some((r) => data.RequiredRoles.includes(r.id))) {
165163

166164
if (ticketType == "event") {
@@ -222,6 +220,7 @@ export async function ticketHelper(
222220

223221
}
224222

223+
225224
const messageData = await database.messageTemplates.findFirst({
226225
where: {
227226
Name: data.MessageTemplateId
@@ -429,6 +428,30 @@ export async function ticketHelper(
429428
}
430429
}
431430
})
431+
432+
if (ticketType == "event") {
433+
(messageEvent.channel as TextChannel).send({
434+
allowedMentions: {
435+
repliedUser: false,
436+
},
437+
content: `-# ${await convertToEmojiPng("ticket", client.user.id)} Your ticket has beed created here ${channel.url}`
438+
}).then(async (m) => {
439+
setTimeout(async () => {
440+
await m.delete()
441+
}, 5000)
442+
})
443+
return;
444+
} else if (ticketType == "interaction") {
445+
await interaction.reply({
446+
flags: MessageFlags.Ephemeral,
447+
content: `-# ${await convertToEmojiPng("ticket", client.user.id)} Your ticket has beed created here ${channel.url}`
448+
}).then(async (i) => {
449+
setTimeout(async () => {
450+
await i.delete()
451+
}, 5000)
452+
})
453+
return;
454+
}
432455
}
433456

434457
export async function ticketErrorMessage(message: string, interaction: ChatInputCommandInteraction | ButtonInteraction | ModalSubmitInteraction | AnySelectMenuInteraction, client: ExtendedClient) {
@@ -1325,11 +1348,6 @@ export const ticketActions = [
13251348
value: "claim",
13261349
emoji: "<:permissions:1277170947761111130>"
13271350
},
1328-
{
1329-
label: "Only Claim Bypass",
1330-
value: "claim_bypass",
1331-
emoji: "<:permissions:1277170947761111130>"
1332-
},
13331351
{
13341352
label: "Transcript",
13351353
value: "transcript",

src/modules/ticket/buttons/ticket-add-component-permission-remove.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export default {
2525
await interaction.update({
2626
flags: MessageFlags.Ephemeral | MessageFlags.IsComponentsV2,
2727
components: [
28-
new TextDisplayBuilder().setContent(`## ${await convertToEmojiPng("check", client.user.id)} Ticket Permission with Id ${uuid} successfully!`)
28+
new TextDisplayBuilder().setContent(`## ${await convertToEmojiPng("check", client.user.id)} Ticket Permission with Id ${uuid} successfully deleted!`)
2929
]
3030
})
3131

src/modules/ticket/buttons/ticket-add-component-use-button.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,20 @@ export default {
2222
const name = new TextInputBuilder();
2323
const emoji = new TextInputBuilder();
2424
const style = new TextInputBuilder();
25+
const messageUrl = new TextInputBuilder();
2526

2627
modal
2728
.setTitle("Use Component with Button")
2829
.setCustomId(
2930
"ticket-add-component-use-button-modal:" + interaction.customId.split(":")[1] + ":" + interaction.customId.split(":")[2] + ":" + interaction.customId.split(":")[3]
3031
);
32+
33+
messageUrl
34+
.setCustomId("messageurl")
35+
.setLabel("Sent a Message Url")
36+
.setStyle(TextInputStyle.Short)
37+
.setRequired(true);
38+
3139
name
3240
.setCustomId("name")
3341
.setLabel("Button Label")
@@ -47,6 +55,7 @@ export default {
4755
.setRequired(true);
4856

4957
modal.addComponents(
58+
new ActionRowBuilder<TextInputBuilder>().addComponents(messageUrl),
5059
new ActionRowBuilder<TextInputBuilder>().addComponents(name),
5160
new ActionRowBuilder<TextInputBuilder>().addComponents(emoji),
5261
new ActionRowBuilder<TextInputBuilder>().addComponents(style)

src/modules/ticket/buttons/ticket-add-component-use-select.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,20 @@ export default {
2323
const description = new TextInputBuilder();
2424
const emoji = new TextInputBuilder();
2525
const placeholder = new TextInputBuilder();
26+
const messageUrl = new TextInputBuilder();
2627

2728
modal
2829
.setTitle("Use Component with Button")
2930
.setCustomId(
3031
"ticket-add-component-use-select-modal:" + interaction.customId.split(":")[1] + ":" + interaction.customId.split(":")[2] + ":" + interaction.customId.split(":")[3]
3132
);
33+
34+
messageUrl
35+
.setCustomId("messageurl")
36+
.setLabel("Sent a Message Url")
37+
.setStyle(TextInputStyle.Short)
38+
.setRequired(true);
39+
3240
name
3341
.setCustomId("name")
3442
.setLabel("Selectmenu Label")
@@ -54,6 +62,7 @@ export default {
5462
.setRequired(false);
5563

5664
modal.addComponents(
65+
new ActionRowBuilder<TextInputBuilder>().addComponents(messageUrl),
5766
new ActionRowBuilder<TextInputBuilder>().addComponents(name),
5867
new ActionRowBuilder<TextInputBuilder>().addComponents(description),
5968
new ActionRowBuilder<TextInputBuilder>().addComponents(emoji),
Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {
2-
ActionRowBuilder,
3-
ButtonInteraction,
2+
ActionRowBuilder, ButtonBuilder,
3+
ButtonInteraction, ButtonStyle, ContainerBuilder, MessageFlags,
44
ModalBuilder,
55
ModalSubmitInteraction,
66
TextInputBuilder,
@@ -21,17 +21,26 @@ export default {
2121
async execute(interaction: ButtonInteraction, client: ExtendedClient) {
2222
const uuid = interaction.customId.split(":")[1]
2323

24-
await interaction.showModal(
25-
new ModalBuilder().setCustomId("ticket-add-component-use-messageurl:" + uuid).setTitle("Use a Message from you Discord")
26-
.addComponents(
27-
new ActionRowBuilder<TextInputBuilder>().addComponents(
28-
new TextInputBuilder()
29-
.setLabel("Message Url")
30-
.setStyle(TextInputStyle.Paragraph)
31-
.setCustomId("message")
32-
.setRequired(true)
24+
await interaction.reply({
25+
flags: MessageFlags.IsComponentsV2 | MessageFlags.Ephemeral,
26+
components: [
27+
new ContainerBuilder()
28+
.addActionRowComponents(
29+
new ActionRowBuilder<ButtonBuilder>().addComponents(
30+
new ButtonBuilder()
31+
.setLabel("Use Button for Component")
32+
.setEmoji("<:emoji:1327305176553492520>")
33+
.setStyle(ButtonStyle.Secondary)
34+
.setCustomId("ticket-add-component-use-button:" + uuid),
35+
new ButtonBuilder()
36+
.setLabel("Use Selectmenu for Component")
37+
.setEmoji("<:emoji:1327304700701315132>")
38+
.setStyle(ButtonStyle.Secondary)
39+
.setCustomId("ticket-add-component-use-select:" + uuid)
40+
)
3341
)
34-
)
35-
)
42+
43+
]
44+
})
3645
}
3746
};

src/modules/ticket/modals/ticket-add-component-use-button-modal.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,12 @@ export default {
2626
*/
2727

2828
async execute(interaction: ModalSubmitInteraction, client: ExtendedClient) {
29-
const messageId = interaction.customId.split(":")[2];
30-
const channelId = interaction.customId.split(":")[3];
31-
29+
const messageUrl = interaction.fields.getTextInputValue(
30+
"messageurl"
31+
).split("/")
32+
const messageId = messageUrl[6]
33+
const channelId = messageUrl[5]
34+
3235
const nameInput = interaction.fields.getTextInputValue(
3336
"name"
3437
);

src/modules/ticket/modals/ticket-add-component-use-messageurl.ts

Lines changed: 0 additions & 51 deletions
This file was deleted.

src/modules/ticket/modals/ticket-add-component-use-select-modal.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,11 @@ export default {
2020
*/
2121

2222
async execute(interaction: ModalSubmitInteraction, client: ExtendedClient) {
23-
const messageId = interaction.customId.split(":")[2];
24-
const channelId = interaction.customId.split(":")[3];
23+
const messageUrl = interaction.fields.getTextInputValue(
24+
"messageurl"
25+
).split("/")
26+
const messageId = messageUrl[6]
27+
const channelId = messageUrl[5]
2528

2629
const nameinput = interaction.fields.getTextInputValue(
2730
"name"

src/modules/ticket/selectmenus/ticket-add-component-permission-role.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ export default {
8383
.setEmoji("<:ping:1232483669218955374>"),
8484
new ButtonBuilder()
8585
.setCustomId("ticket-add-component-permission-is-handler:" + uuid)
86-
.setLabel("Is Ticket Mod (View all Buttons, etc...)")
86+
.setLabel("Is Ticket Mod (Need to create a Ticket)")
8787
.setStyle(ButtonStyle.Secondary)
8888
.setEmoji("<:Mod_Shield:1279080247387619369>")
8989
)

src/modules/ticket/selectmenus/ticket-add-component-permission-user.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ export default {
8282
.setEmoji("<:ping:1232483669218955374>"),
8383
new ButtonBuilder()
8484
.setCustomId("ticket-add-component-permission-is-handler:" + uuid)
85-
.setLabel("Is Ticket Mod (View all Buttons, etc...)")
85+
.setLabel("Is Ticket Mod (Need to create a Ticket)")
8686
.setStyle(ButtonStyle.Secondary)
8787
.setEmoji("<:Mod_Shield:1279080247387619369>")
8888
)

0 commit comments

Comments
 (0)