This commit is contained in:
Bxio 2025-04-04 21:01:37 +01:00
parent ce470d9e1b
commit 0d20fdff16

View File

@ -1,21 +1,15 @@
const { InteractionContextType, PermissionFlagsBits, SlashCommandBuilder, MessageFlags } = require('discord.js'); const { SlashCommandBuilder } = require('discord.js');
const conn = require('../../../database/db'); const conn = require('../../../database/db');
console.error("--------------------- testeadd.js ---------------------"); // Define a função loadChoices antes de usá-la
// Função para buscar as escolhas no banco de dados
async function loadChoices() { async function loadChoices() {
try { try {
// Exemplo de query: supondo que você tenha uma tabela 'choices' com colunas 'name' e 'value' // Supondo que sua tabela de escolhas se chame "choices" e tenha colunas "name" e "value"
const [rows] = await conn.execute('SELECT name, value FROM choices'); const [rows] = await conn.execute('SELECT name, value FROM choices');
return rows.map(row => ({ return rows.map(row => ({
name: row.name, name: row.name,
value: row.value.toString() // converte para string se necessário value: row.value.toString() // converter para string se necessário
})), }));
console.error("rows na database:", rows);
} catch (err) { } catch (err) {
console.error("Erro ao carregar escolhas:", err); console.error("Erro ao carregar escolhas:", err);
return []; return [];
@ -24,15 +18,16 @@ async function loadChoices() {
// Carrega as escolhas antes de definir o comando // Carrega as escolhas antes de definir o comando
let dynamicChoices = []; let dynamicChoices = [];
loadChoices().then(choices => { loadChoices()
.then(choices => {
dynamicChoices = choices; dynamicChoices = choices;
console.log("Escolhas carregadas:", dynamicChoices); console.log("Escolhas carregadas:", dynamicChoices);
}).catch(err => { })
.catch(err => {
console.error("Falha ao carregar escolhas:", err); console.error("Falha ao carregar escolhas:", err);
}); });
module.exports = { module.exports = {
// Definição do comando com as escolhas carregadas
data: new SlashCommandBuilder() data: new SlashCommandBuilder()
.setName('add') .setName('add')
.setDescription('Adiciona o servidor à base de dados.') .setDescription('Adiciona o servidor à base de dados.')
@ -40,7 +35,7 @@ module.exports = {
option.setName('nome') option.setName('nome')
.setDescription('Arisu - Escolhe uma opção') .setDescription('Arisu - Escolhe uma opção')
.setRequired(true) .setRequired(true)
// Se as escolhas ainda não estiverem carregadas, você pode definir valores padrão ou tratar essa situação // Se as escolhas ainda não estiverem carregadas, defina um conjunto padrão para evitar erros.
.addChoices(...(dynamicChoices.length ? dynamicChoices : [ .addChoices(...(dynamicChoices.length ? dynamicChoices : [
{ name: 'Opção Padrão 1', value: '0' }, { name: 'Opção Padrão 1', value: '0' },
{ name: 'Opção Padrão 2', value: '1' } { name: 'Opção Padrão 2', value: '1' }
@ -57,6 +52,7 @@ module.exports = {
), ),
async execute(interaction, client) { async execute(interaction, client) {
// Lógica do comando
const guildId = interaction.guild.id; const guildId = interaction.guild.id;
const guildName = interaction.guild.name; const guildName = interaction.guild.name;
const guildownerId = interaction.guild.ownerId; const guildownerId = interaction.guild.ownerId;