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

171
Vistas
DiscordJS filtra a los usuarios de los botones y limita los botones al usuario que usó el comando

Estoy tratando de hacer un bot que permita a los usuarios crear incrustaciones usando una serie de comandos y va bien. Pero encontré un problema, el bot usa botones pero para confirmar algo como "¿Estás seguro de que este es tu título?" cualquier usuario puede hacer clic en el botón; lo cual es un problema Solo quiero que el usuario que usó el comando pueda usar los botones.

Esto es lo que probé al principio:

 client.on('interactionCreate', async interaction => { const filter = m => !m.author.bot && m.author.id === interaction.user.id; const collector = interaction.channel.createMessageCollector({filter, max:1, time:10000}); if (!interaction.isButton() && interaction.user.id != interaction.message.author.id) return;

Traté de usar interaction.user.id != o === interaction.message.author.id pero eso no funciona

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

La mejor manera de hacer un botón solo para un solo usuario es poner la identificación del usuario en la identificación personalizada

Por ejemplo, establezca el ID en title-${interaction.user.id}

 if(!interaction.isButton()) return; if (!interaction.customId.endsWith(interaction.user.id)) { return interaction.reply({ content: "This button is not for you", ephemeral: true }) }
about 4 years ago · Juan Pablo Isaza Denunciar

0

client.on("interactionCreate", async (interaction) => { //filter the user so it only works for the user who sent the command if (interaction.user.id !== message.author.id) { const embed = new MessageEmbed() .setDescription("You Cannot Interact With This Message!") .setColor("RED"); return interaction.reply({ embeds: [embed], ephemeral: true }); } else { //Code Here } });

nose si todavia lo necesitas pero

espero que funcione, a mi me funciona

about 4 years ago · Juan Pablo Isaza 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