diff --git a/src/commands/Community/meta.js b/src/commands/Community/meta.js index 5022812..4f14af4 100644 --- a/src/commands/Community/meta.js +++ b/src/commands/Community/meta.js @@ -2,6 +2,7 @@ const { SlashCommandBuilder, ActionRowBuilder, StringSelectMenuBuilder, + EmbedBuilder, // Adicionando o EmbedBuilder para usar no embed } = require('discord.js'); const conn = require('../../../database/db'); @@ -48,6 +49,46 @@ const { components: [row], ephemeral: true, }); + + // 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