This commit is contained in:
parent
3959d7e5a1
commit
75d5045a5b
@ -1,5 +1,5 @@
|
||||
// comandos/add.js
|
||||
const { InteractionContextType, EmbedBuilder, SlashCommandBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle, TextInputBuilder, TextInputStyle, ModalBuilder } = require('discord.js');
|
||||
const { EmbedBuilder, SlashCommandBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle, ModalBuilder, TextInputBuilder, TextInputStyle } = require('discord.js');
|
||||
const conn = require('../../../database/db'); // Ajusta o caminho
|
||||
|
||||
console.error("--------------------- lista_membro.js ---------------------");
|
||||
@ -68,6 +68,7 @@ module.exports = {
|
||||
}
|
||||
},
|
||||
|
||||
// Lida com a interação do botão
|
||||
async handleButtonClick(interaction) {
|
||||
if (interaction.customId === 'edit_meta') {
|
||||
const modal = new ModalBuilder()
|
||||
@ -90,31 +91,56 @@ module.exports = {
|
||||
}
|
||||
},
|
||||
|
||||
// Lida com a submissão do 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]
|
||||
);
|
||||
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]
|
||||
);
|
||||
|
||||
if (!rows.length) {
|
||||
return await interaction.reply({ content: 'Usuário não encontrado', ephemeral: true });
|
||||
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 });
|
||||
} catch (error) {
|
||||
console.error('Erro ao atualizar a meta no banco de dados:', error);
|
||||
await interaction.reply({ content: 'Erro ao atualizar a meta!', 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 });
|
||||
}
|
||||
};
|
||||
|
||||
// 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);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user