From cb08d8e06287d21f2b155dccbbdf7e0b14d81c88 Mon Sep 17 00:00:00 2001 From: Raphael Date: Sun, 26 Oct 2025 22:31:01 +0100 Subject: [PATCH] fix(events/messages): MessageCreate now create the user in the database if is doesn't exist --- src/events/messages/messageCreate.ts | 32 +++++++++++++++++----------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/src/events/messages/messageCreate.ts b/src/events/messages/messageCreate.ts index bbdfd9d..2de28d3 100644 --- a/src/events/messages/messageCreate.ts +++ b/src/events/messages/messageCreate.ts @@ -20,7 +20,9 @@ export default { async execute(message: Message) { if (message.author.bot || !message.guildId || !canGainXp(message.author.id)) return; const Author: UserPrisma | null = await prisma.user.findUnique({ - where: { id: message.author.id }, + where: { + id: message.author.id, + }, }); if (!Author) { await prisma.user.create({ @@ -29,24 +31,29 @@ export default { }, }); } - let guildUser: GuildUserPrisma | null = await prisma.guildUser.findUnique({ + const guildUser: GuildUserPrisma = await prisma.guildUser.upsert({ where: { userId_guildId: { userId: message.author.id, guildId: message.guildId, }, }, - }); - if (!guildUser) { - guildUser = await prisma.guildUser.create({ - data: { - userId: message.author.id, - guildId: message.guildId, - xp: 0, - level: 0, + update: {}, + create: { + xp: 0, + level: 0, + user: { + connect: { + id: message.author.id, + }, }, - }); - } + guild: { + connect: { + id: message.guildId, + }, + }, + }, + }); const gainXp: number = Math.abs(message.content.length - Math.round(Math.random() * 13)) % 7; const newXp: number = guildUser.xp + gainXp; let newLevel: number = guildUser.level; @@ -57,7 +64,6 @@ export default { `🎉 | Félicitations <@${message.author.id}>, tu es maintenant niveau **${newLevel}** !`, ); } - console.log(`${message.author.username} | ${newLevel} -> ${newXp} [${requiredXp}]`); await prisma.guildUser.update({ where: { userId_guildId: {