diff --git a/src/commands/Community/meta.js b/src/commands/Community/meta.js index c44c044..d8b2f6a 100644 --- a/src/commands/Community/meta.js +++ b/src/commands/Community/meta.js @@ -1,9 +1,7 @@ -// comandos/add.js -const { EmbedBuilder, SlashCommandBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle, ModalBuilder, TextInputBuilder, TextInputStyle } = require('discord.js'); +// comandos/Community/meta.js +const { ModalBuilder, TextInputBuilder, TextInputStyle, ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder, SlashCommandBuilder } = require('discord.js'); const conn = require('../../../database/db'); // Ajusta o caminho -console.error("--------------------- lista_membro.js ---------------------"); - module.exports = { data: new SlashCommandBuilder() .setName('meta') @@ -13,10 +11,9 @@ module.exports = { await interaction.deferReply({ ephemeral: true }); try { - // Consulta os dados do usuário que executou o comando (usando interaction.user.id) const [rows] = 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 WHERE u.discord_id = ? ORDER BY c.id DESC', - [interaction.user.id] // Passa o ID do usuário que executou o comando + '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 WHERE u.discord_id = ? ORDER BY c.id DESC', + [interaction.user.id] ); if (!rows.length) { @@ -24,8 +21,6 @@ module.exports = { } const embed = new EmbedBuilder().setColor("#00b0f4"); - - // Pega as metas do usuário const row = rows[0]; // Já que é apenas um usuário, podemos pegar o primeiro da lista let metas = {}; @@ -52,7 +47,6 @@ module.exports = { inline: true }); - // Adiciona um botão para permitir a edição do valor const button = new ActionRowBuilder().addComponents( new ButtonBuilder() .setCustomId('edit_meta') @@ -68,14 +62,12 @@ module.exports = { } }, - // Lida com a interação do botão async handleButtonClick(interaction) { if (interaction.customId === 'edit_meta') { const modal = new ModalBuilder() .setCustomId('meta_modal') .setTitle('Editar Meta'); - // Adiciona um campo de entrada de texto para o novo valor de `atual` modal.addComponents( new ActionRowBuilder().addComponents( new TextInputBuilder() @@ -91,12 +83,10 @@ module.exports = { } }, - // Lida com a submissão do modal async handleModalSubmit(interaction) { const newAtual = interaction.fields.getTextInputValue('new_atual'); try { - // Consulta os dados do usuário no banco de dados const [rows] = await conn.execute( 'SELECT u.id, u.meta FROM users u WHERE u.discord_id = ?', [interaction.user.id] @@ -108,11 +98,8 @@ module.exports = { let metas = JSON.parse(rows[0].meta); - // Atualiza o valor de 'atual' no JSON - // Supondo que você sabe qual meta está sendo editada (ex: 'carvao') - metas['carvao'].atual = newAtual; // Altere o nome da chave conforme necessário + metas['carvao'].atual = newAtual; - // Atualiza no banco de dados await conn.execute( 'UPDATE users SET meta = ? WHERE discord_id = ?', [JSON.stringify(metas), interaction.user.id] @@ -125,22 +112,3 @@ module.exports = { } } }; - -// Adiciona o evento que lida com a criação de interações -client.on('interactionCreate', async (interaction) => { - if (!interaction.isButton() && !interaction.isModalSubmit()) return; - - // Verifica se a interação é de um botão - if (interaction.isButton()) { - if (interaction.customId === 'edit_meta') { - await module.exports.handleButtonClick(interaction); - } - } - - // Verifica se a interação é de um modal - if (interaction.isModalSubmit()) { - if (interaction.customId === 'meta_modal') { - await module.exports.handleModalSubmit(interaction); - } - } -});