Skip to content

Commit 1990979

Browse files
author
xyzjesper
committed
Fixed Vanity Database and add embed show button
1 parent ab9de03 commit 1990979

16 files changed

Lines changed: 83 additions & 30 deletions

‎prisma/schema.prisma‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -599,7 +599,7 @@ model GuildBackups {
599599
model Vanitys {
600600
id String @id @default(auto()) @map("_id") @db.ObjectId
601601
UUID String @unique
602-
Slug String
602+
Slug String @unique
603603
Host String
604604
GuildId String
605605
Invite String
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
import {ActionRowBuilder, ButtonBuilder, ButtonInteraction, ButtonStyle, EmbedBuilder, MessageFlags} from "discord.js";
2+
import {ExtendedClient} from "../../../types/client.js";
3+
import {convertToEmojiPng} from "../../../helper/emojis.js";
4+
import {database} from "../../../main/database.js";
5+
6+
export default {
7+
id: "vanity-show-embed",
8+
9+
/**
10+
*
11+
* @param {ButtonInteraction} interaction
12+
* @param {ExtendedClient} client
13+
*/
14+
async execute(interaction: ButtonInteraction, client: ExtendedClient) {
15+
16+
const data = await database.vanityEmbed.findFirst({
17+
where: {
18+
VanityId: interaction.customId.split(":")[1]
19+
},
20+
include: {
21+
Author: true
22+
}
23+
});
24+
25+
26+
await interaction.reply({
27+
embeds: [
28+
new EmbedBuilder()
29+
.setDescription(
30+
[`## ${await convertToEmojiPng("link", client.user.id)} Vanity Embed`,
31+
``,
32+
`${await convertToEmojiPng("message", client.user.id)} **Title**: ${data.Title ?? "N/A"}`,
33+
`${await convertToEmojiPng("message", client.user.id)} **Description**: ${data.Description ?? "N/A"}`,
34+
`${await convertToEmojiPng("color", client.user.id)} **Color**: ${data.Color ?? "N/A"}`,
35+
`${await convertToEmojiPng("image", client.user.id)} **Image**: ${data.ImageUrl ?? "N/A"}`,
36+
`${await convertToEmojiPng("image", client.user.id)} **Thumbnail**: ${data.ThumbnailUrl ?? "N/A"}`,
37+
`${await convertToEmojiPng("signature", client.user.id)} **Author**: ${data.Author ?? "N/A"}`,
38+
`- ${await convertToEmojiPng("renamesolid24", client.user.id)} **Name**: ${data.Author?.Name ?? "N/A"}`,
39+
`- ${await convertToEmojiPng("link", client.user.id)} **Url**: ${data.Author?.URL ?? "N/A"}`,
40+
`- ${await convertToEmojiPng("image", client.user.id)} **Icon**: ${data.Author?.IconURL ?? "N/A"}`,
41+
].join("\n"))
42+
],
43+
flags: MessageFlags.Ephemeral,
44+
})
45+
}
46+
};

‎src/modules/vanity/buttons/vanity-update-discover.ts‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ export default {
2828

2929
const isOneGuild = await database.vanitys.findMany({
3030
where: {
31+
InDiscovery: true,
3132
GuildId: interaction.guildId
3233
}
3334
});
@@ -36,7 +37,7 @@ export default {
3637
return await interaction.reply(
3738
{
3839
flags: MessageFlags.Ephemeral,
39-
content: `## ${await convertToEmojiPng("error", client.user.id)} You only can this guild once in the Discovery!`,
40+
content: `## ${await convertToEmojiPng("error", client.user.id)} You only can have this guild once in the Discovery!`,
4041
}
4142
)
4243
}

‎src/modules/vanity/buttons/vanity-update-embed.ts‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,11 @@ export default {
5353
.setCustomId(`vanity-update-discover:${data?.UUID}`)
5454
.setStyle(ButtonStyle.Secondary)
5555
.setEmoji("<:toggleon:1301864515838672908>"),
56+
new ButtonBuilder()
57+
.setLabel("Show Embed")
58+
.setCustomId(`vanity-show-embed:${data?.UUID}`)
59+
.setStyle(ButtonStyle.Secondary)
60+
.setEmoji("<:preview:1288230393757171825>"),
5661
)
5762

5863

‎src/modules/vanity/modals/vanity-change-slug-modal.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export default {
3232
return;
3333
}
3434

35-
if (data.Slug === newSlug) {
35+
if (data.Slug == newSlug) {
3636
await interaction.editReply({
3737
content: `## ${await convertToEmojiPng("error", client.user.id)} The new slug is the same as the old one.`
3838
});
@@ -48,7 +48,7 @@ export default {
4848

4949
const isSlug = await database.vanitys.findFirst({
5050
where: {
51-
Slug: data.Slug
51+
Slug: newSlug
5252
}
5353
})
5454

‎src/modules/vanity/modals/vanity-update-author-modal.ts‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,13 @@ export default {
1717
flags: MessageFlags.Ephemeral
1818
});
1919

20-
const data = await database.vanitys.findFirst({
20+
const data = await database.vanityEmbed.findFirst({
2121
where: {
22-
UUID: interaction.customId.split(":")[1]
22+
VanityId: interaction.customId.split(":")[1]
2323
}
2424
});
2525

26+
2627
const newSlug = interaction.fields.getTextInputValue("vanity-update-author-input");
2728
const icon = interaction.fields.getTextInputValue("vanity-update-author-icon-input");
2829
const newImage = interaction.fields.getTextInputValue("vanity-update-author-url-input");
@@ -51,7 +52,6 @@ export default {
5152
await database.vanityEmbedAuthor.update({
5253
where: {
5354
id: data.id,
54-
VanityEmbedsId: interaction.customId.split(":")[1]
5555
},
5656
data: {
5757
Name: newSlug,

‎src/modules/vanity/modals/vanity-update-color-modal.ts‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,13 @@ export default {
1717
flags: MessageFlags.Ephemeral
1818
});
1919

20-
const data = await database.vanitys.findFirst({
20+
const data = await database.vanityEmbed.findFirst({
2121
where: {
22-
UUID: interaction.customId.split(":")[1]
22+
VanityId: interaction.customId.split(":")[1]
2323
}
2424
});
2525

26+
2627
const newSlug = interaction.fields.getTextInputValue("vanity-update-color-input");
2728

2829
if (!data) {
@@ -49,7 +50,6 @@ export default {
4950
await database.vanityEmbed.update({
5051
where: {
5152
id: data.id,
52-
VanityId: interaction.customId.split(":")[1]
5353
},
5454
data: {
5555
Title: newSlug

‎src/modules/vanity/modals/vanity-update-description-modal.ts‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,13 @@ export default {
1717
flags: MessageFlags.Ephemeral
1818
});
1919

20-
const data = await database.vanitys.findFirst({
20+
const data = await database.vanityEmbed.findFirst({
2121
where: {
22-
UUID: interaction.customId.split(":")[1]
22+
VanityId: interaction.customId.split(":")[1]
2323
}
2424
});
2525

26+
2627
const newSlug = interaction.fields.getTextInputValue("vanity-update-description-input");
2728

2829
if (!data) {
@@ -35,7 +36,6 @@ export default {
3536
await database.vanityEmbed.update({
3637
where: {
3738
id: data.id,
38-
VanityId: interaction.customId.split(":")[1]
3939
},
4040
data: {
4141
Description: newSlug

‎src/modules/vanity/modals/vanity-update-image-modal.ts‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,13 @@ export default {
1717
flags: MessageFlags.Ephemeral
1818
});
1919

20-
const data = await database.vanitys.findFirst({
20+
const data = await database.vanityEmbed.findFirst({
2121
where: {
22-
UUID: interaction.customId.split(":")[1]
22+
VanityId: interaction.customId.split(":")[1]
2323
}
2424
});
2525

26+
2627
const newSlug = interaction.fields.getTextInputValue("vanity-update-image-thumbnail-input");
2728
const newImage = interaction.fields.getTextInputValue("vanity-update-image-image-input");
2829

@@ -51,7 +52,6 @@ export default {
5152
await database.vanityEmbed.update({
5253
where: {
5354
id: data.id,
54-
VanityId: interaction.customId.split(":")[1]
5555
},
5656
data: {
5757
ThumbnailUrl: newSlug,

‎src/modules/vanity/modals/vanity-update-title-modal.ts‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ export default {
1717
flags: MessageFlags.Ephemeral
1818
});
1919

20-
const data = await database.vanitys.findFirst({
20+
const data = await database.vanityEmbed.findFirst({
2121
where: {
22-
UUID: interaction.customId.split(":")[1]
22+
VanityId: interaction.customId.split(":")[1]
2323
}
2424
});
2525

@@ -35,7 +35,6 @@ export default {
3535
await database.vanityEmbed.update({
3636
where: {
3737
id: data.id,
38-
VanityId: interaction.customId.split(":")[1]
3938
},
4039
data: {
4140
Title: newSlug

0 commit comments

Comments
 (0)