This commit is contained in:
parent
a6b378c156
commit
3959d7e5a1
@ -1,5 +1,5 @@
|
|||||||
// comandos/add.js
|
// comandos/add.js
|
||||||
const { InteractionContextType, EmbedBuilder, SlashCommandBuilder } = require('discord.js');
|
const { InteractionContextType, EmbedBuilder, SlashCommandBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle, TextInputBuilder, TextInputStyle, ModalBuilder } = require('discord.js');
|
||||||
const conn = require('../../../database/db'); // Ajusta o caminho
|
const conn = require('../../../database/db'); // Ajusta o caminho
|
||||||
|
|
||||||
console.error("--------------------- lista_membro.js ---------------------");
|
console.error("--------------------- lista_membro.js ---------------------");
|
||||||
@ -52,11 +52,69 @@ module.exports = {
|
|||||||
inline: true
|
inline: true
|
||||||
});
|
});
|
||||||
|
|
||||||
await interaction.editReply({ embeds: [embed] });
|
// Adiciona um botão para permitir a edição do valor
|
||||||
|
const button = new ActionRowBuilder().addComponents(
|
||||||
|
new ButtonBuilder()
|
||||||
|
.setCustomId('edit_meta')
|
||||||
|
.setLabel('Editar Meta')
|
||||||
|
.setStyle(ButtonStyle.Primary)
|
||||||
|
);
|
||||||
|
|
||||||
|
await interaction.editReply({ embeds: [embed], components: [button] });
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Erro ao acessar o banco de dados:', error);
|
console.error('Erro ao acessar o banco de dados:', error);
|
||||||
await interaction.editReply({ content: 'Erro ao carregar os dados do membro!' });
|
await interaction.editReply({ content: 'Erro ao carregar os dados do membro!' });
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
|
||||||
|
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()
|
||||||
|
.setCustomId('new_atual')
|
||||||
|
.setLabel('Novo valor de Atual')
|
||||||
|
.setStyle(TextInputStyle.Short)
|
||||||
|
.setPlaceholder('Insira o novo valor...')
|
||||||
|
.setRequired(true)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
await interaction.showModal(modal);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
async handleModalSubmit(interaction) {
|
||||||
|
const newAtual = interaction.fields.getTextInputValue('new_atual');
|
||||||
|
|
||||||
|
// Aqui você precisa atualizar os dados no banco de dados
|
||||||
|
const [rows] = await conn.execute(
|
||||||
|
'SELECT u.id, u.meta FROM users u WHERE u.discord_id = ?',
|
||||||
|
[interaction.user.id]
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!rows.length) {
|
||||||
|
return await interaction.reply({ content: 'Usuário não encontrado', ephemeral: true });
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
// Atualiza no banco de dados
|
||||||
|
await conn.execute(
|
||||||
|
'UPDATE users SET meta = ? WHERE discord_id = ?',
|
||||||
|
[JSON.stringify(metas), interaction.user.id]
|
||||||
|
);
|
||||||
|
|
||||||
|
await interaction.reply({ content: 'Meta atualizada com sucesso!', ephemeral: true });
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user