From 0f93ef71e89cc68ea025922b1b52dc12e4efa6e6 Mon Sep 17 00:00:00 2001 From: Bxio Date: Thu, 1 May 2025 23:29:17 +0100 Subject: [PATCH] --- src/commands/Community/meta.js | 80 +++++++++++++++++++--------------- 1 file changed, 44 insertions(+), 36 deletions(-) diff --git a/src/commands/Community/meta.js b/src/commands/Community/meta.js index 6787ebe..005a300 100644 --- a/src/commands/Community/meta.js +++ b/src/commands/Community/meta.js @@ -13,6 +13,49 @@ const { .setDescription('Escolhe um recurso para editar a meta.'), async execute(interaction) { + // Parte adicional que recupera e exibe informações de usuários e suas metas + try { + const [usersRows] = await conn.execute('SELECT u.id, u.discord_id, u.discord_username, u.nig, u.meta, c.name AS nomedocargo FROM users u JOIN choices c ON u.cargo = c.value ORDER BY c.id DESC'); + const embed = new EmbedBuilder().setColor("#00b0f4"); + + // Adiciona cada usuário como um campo no embed + usersRows.forEach(row => { + let metas = {}; + + try { + if (row.meta) { + metas = JSON.parse(row.meta); + } + } catch (err) { + console.warn('JSON mal formatado para usuário:', row.discord_username); + } + + let metasText = ''; + for (const [nomejson, dados] of Object.entries(metas)) { + if (typeof dados === 'object' && dados !== null && 'alvo' in dados && 'atual' in dados) { + metasText += `* *${nomejson}:* \`${dados.atual} / ${dados.alvo}\`\n`; + } else { + metasText += `* *${nomejson}:* \`formato inválido\`\n`; + } + } + + embed.addFields({ + name: '', + value: `\n\n> **${row.nig}** \n > <@${row.discord_id}>\n **Cargo:** \`${row.nomedocargo}\` \n**Meta Semanal:** \n${metasText}\n\n`, + inline: true + }); + }); + + await interaction.editReply({ embeds: [embed] }); + + } catch (error) { + console.error('Erro ao buscar usuários:', error); + await interaction.editReply({ content: '❌ Erro ao carregar informações dos usuários.' }); + } + + + + try { const userId = interaction.user.id; const [rows] = await conn.query('SELECT meta FROM users WHERE discord_id = ?', [userId]); @@ -75,46 +118,11 @@ const { interaction.editReply({ content: '❌ O tempo para escolher o recurso expirou.' }); } }); - - // Parte adicional que recupera e exibe informações de usuários e suas metas - try { - const [usersRows] = await conn.execute('SELECT u.id, u.discord_id, u.discord_username, u.nig, u.meta, c.name AS nomedocargo FROM users u JOIN choices c ON u.cargo = c.value ORDER BY c.id DESC'); - const embed = new EmbedBuilder().setColor("#00b0f4"); - - // Adiciona cada usuário como um campo no embed - usersRows.forEach(row => { - let metas = {}; - - try { - if (row.meta) { - metas = JSON.parse(row.meta); - } - } catch (err) { - console.warn('JSON mal formatado para usuário:', row.discord_username); - } - - let metasText = ''; - for (const [nomejson, dados] of Object.entries(metas)) { - if (typeof dados === 'object' && dados !== null && 'alvo' in dados && 'atual' in dados) { - metasText += `* *${nomejson}:* \`${dados.atual} / ${dados.alvo}\`\n`; - } else { - metasText += `* *${nomejson}:* \`formato inválido\`\n`; - } - } - - embed.addFields({ - name: '', - value: `\n\n> **${row.nig}** \n > <@${row.discord_id}>\n **Cargo:** \`${row.nomedocargo}\` \n**Meta Semanal:** \n${metasText}\n\n`, - inline: true - }); - }); - - await interaction.editReply({ embeds: [embed] }); - } catch (error) { console.error('Erro ao buscar usuários:', error); await interaction.editReply({ content: '❌ Erro ao carregar informações dos usuários.' }); } + }, }; \ No newline at end of file