diff --git a/src/commands/Community/adicionar_membro.js b/src/commands/Community/adicionar_membro.js new file mode 100644 index 0000000..de943b4 --- /dev/null +++ b/src/commands/Community/adicionar_membro.js @@ -0,0 +1,39 @@ +// comandos/add.js +const { InteractionContextType, PermissionFlagsBits, SlashCommandBuilder, MessageFlags } = require('discord.js'); + + + + +console.error("--------------------- adicionar_membro.js ---------------------"); +module.exports = { + data: new SlashCommandBuilder() + .setName('addmembro') + .setDescription('Adiciona o servidor à base de dados.') + .addStringOption(option => + option.setName('nome') + .setDescription('Escolhe uma opção') + .setRequired(true) + .setAutocomplete(true) // ATENÇÃO AQUI + ) + .addUserOption(option => + option + .setName('target') + .setDescription('The member to ban') + .setRequired(true) + ) + .addStringOption(option => + option.setName('raça') + .setDescription('Escolhe uma opção') + .setRequired(true) + .setAutocomplete(true) // ATENÇÃO AQUI + ), + async execute(interaction) { + const nome = interaction.options.getString('nome'); + const target = interaction.options.getUser('target'); + const raça = interaction.options.getString('raça') ?? 'No reason provided'; + + + + await interaction.reply(`Selecionaste: ${nome} <@${target.id}> ${raça}`); + }, +}; \ No newline at end of file diff --git a/src/events/handlers/adicionar_membro.js b/src/events/handlers/adicionar_membro.js new file mode 100644 index 0000000..51906bd --- /dev/null +++ b/src/events/handlers/adicionar_membro.js @@ -0,0 +1,57 @@ +// events/interactionCreate.js +const { InteractionContextType, PermissionFlagsBits, SlashCommandBuilder, MessageFlags } = require('discord.js'); +const conn = require('../../../database/db'); // Ajusta o caminho + + +module.exports = { + name: 'interactionCreate', + async execute(interaction, client) { + + + if (interaction.isAutocomplete()) { + const focusedValue = interaction.options.getFocused(true); + + if (interaction.commandName === 'wdd') { + console.error(focusedValue); + if (focusedValue.name == 'nome'){ + + try { + const [rows] = await conn.execute( + 'SELECT name,value FROM choices LIMIT 25', + [`%${focusedValue}%`] + ); + + const suggestions = rows.map(row => ({ + name: row.name, + value: row.value, + })); + + await interaction.respond(suggestions); + } catch (err) { + console.error('Erro ao buscar sugestões:', err); + await interaction.respond([]); + } + } + if (focusedValue.name == 'raça'){ + try { + const [rows] = await conn.execute( + 'SELECT name,value FROM choices LIMIT 25', + [`%${focusedValue}%`] + ); + + const suggestions = rows.map(row => ({ + name: row.name, + value: row.value, + })); + + await interaction.respond(suggestions); + } catch (err) { + console.error('Erro ao buscar sugestões:', err); + await interaction.respond([]); + } + } + + } + } + }, +}; \ No newline at end of file