This commit is contained in:
Bxio 2025-05-02 00:39:30 +01:00
parent a86240f83a
commit d3c97d7971
2 changed files with 66 additions and 70 deletions

View File

@ -1,9 +1,10 @@
// src/commands/community/meta.js
const { const {
SlashCommandBuilder, SlashCommandBuilder,
ActionRowBuilder, ActionRowBuilder,
StringSelectMenuBuilder, StringSelectMenuBuilder,
ButtonBuilder, // Adicionando o ButtonBuilder para o botão ButtonBuilder,
EmbedBuilder, // Para o embed de exibição de usuários EmbedBuilder,
} = require('discord.js'); } = require('discord.js');
const conn = require('../../../database/db'); const conn = require('../../../database/db');
@ -12,12 +13,9 @@ const {
.setName('meta') .setName('meta')
.setDescription('Escolhe um recurso para editar a meta.'), .setDescription('Escolhe um recurso para editar a meta.'),
async execute(interaction) { async execute(interaction) {
await interaction.deferReply({ ephemeral: true }); await interaction.deferReply({ ephemeral: true });
// Parte adicional que recupera e exibe informações de usuários e suas metas
try { 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 [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"); const embed = new EmbedBuilder().setColor("#00b0f4");
@ -57,8 +55,6 @@ const {
await interaction.editReply({ content: '❌ Erro ao carregar informações dos usuários.' }); await interaction.editReply({ content: '❌ Erro ao carregar informações dos usuários.' });
} }
try { try {
const userId = interaction.user.id; const userId = interaction.user.id;
const [rows] = await conn.query('SELECT meta FROM users WHERE discord_id = ?', [userId]); const [rows] = await conn.query('SELECT meta FROM users WHERE discord_id = ?', [userId]);
@ -95,7 +91,7 @@ const {
new ButtonBuilder() new ButtonBuilder()
.setCustomId('mostrarDropdown') .setCustomId('mostrarDropdown')
.setLabel('Escolher Recurso') .setLabel('Escolher Recurso')
.setStyle(1) // Usando o valor numérico para PRIMARY (1) .setStyle(1)
); );
await interaction.editReply({ await interaction.editReply({
@ -112,7 +108,7 @@ const {
if (i.customId === 'mostrarDropdown') { if (i.customId === 'mostrarDropdown') {
await i.update({ await i.update({
content: '🛠️ Agora escolhe o recurso:', content: '🛠️ Agora escolhe o recurso:',
components: [rowSelect], // Exibe o menu de seleção após clicar no botão components: [rowSelect],
}); });
} }
}); });
@ -122,11 +118,11 @@ const {
interaction.editReply({ content: '❌ O tempo para escolher o recurso expirou.' }); interaction.editReply({ content: '❌ O tempo para escolher o recurso expirou.' });
} }
}); });
} catch (error) { } catch (error) {
console.error('Erro ao buscar usuários:', error); console.error('Erro ao buscar usuários:', error);
await interaction.editReply({ content: '❌ Erro ao carregar informações dos usuários.' }); await interaction.editReply({ content: '❌ Erro ao carregar informações dos usuários.' });
} }
}, },
}; };