Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

348
Vistas
Cualquier acción, excepto enviar mensajes, no funciona en mi colector, discordjs

tengo este comando:

 if(prefix&&comando === 'gender'||prefix&&comando === 'pronome'){ const embed = new MessageEmbed() .setColor(config.embed_default_color) .setTitle('Altere o seu pronome!') .setDescription('Quando mudá-lo, eu vou te tratar pelo pronome selecionado.') .addField('Selecione uma opção abaixo.', '- - - - - - - -'); const row = new MessageActionRow() .addComponents( new MessageSelectMenu() .setCustomId('select') .setPlaceholder('Nothing selected') .addOptions([ { label: 'Pronome masculino', value: 'men', emoji: '🚹' }, { label: 'Pronome feminino', value: 'woman', emoji: '🚺' }, { label: 'Pronome indefinido', value: 'indef', emoji: '🟨' }, ]), ); await message.reply({ embeds: [embed], components: [row] }).then(msg => { const filtro = (interaction) => interaction.isSelectMenu() const coletor = msg.createMessageComponentCollector({ filtro }); coletor.on('collect', async (collected) => { let gn = collected.values[0] collected.deferUpdate() if(gn==='men'){ msg.delete(); await message.channel.send(`${mention} **| ✅ Pronome alterado!**\nPronome atualizado para o masculino, Ele/dele.`); gender = 'o'; } else if(gn==='woman'){ msg.delete(); await message.channel.send(`${mention} **| ✅ Pronome alterado!**\nPronome atualizado para o feminino, Ela/dela.`); gender = 'a'; } else if(gn==='men'){ msg.delete(); await message.channel.send(`${mention} **| ✅ Pronome alterado!**\nPronome atualizado para indefinido.`); gender = 'x'; } }) }) }

y debajo, en el colector (en los bloques if), tengo algunas acciones, porque cuando el usuario selecciona una opción en el menú desplegable, se envía el mensaje, pero no puedo cambiar ningún valor de variable allí. existe un método para hacer esto? Realmente necesito eso. ¡Gracias!

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Intenta seguir esta guía , es muy completa.

Aquí tienes un ejemplo de cómo sería:

 const { MessageActionRow, MessageSelectMenu } = require('discord.js'); client.on('interactionCreate', async interaction => { if (!interaction.isCommand()) return; if (interaction.commandName === 'MenuOptions') { const row = new MessageActionRow() .addComponents( new MessageSelectMenu() .setCustomId('select') .setPlaceholder('Nothing selected') .setMinValues(2) .setMaxValues(3) .addOptions([ { label: 'Select me', description: 'This is a description', value: 'first_option', }, { label: 'You can select me too', description: 'This is also a description', value: 'second_option', }, { label: 'I am also an option', description: 'This is a description as well', value: 'third_option', }, ]), ); await interaction.reply({ content: 'Example!!!!!!!!', components: [row] }); } });
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda