es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El recolector de reacciones de Discord JS v13 no funciona.

He estado tratando durante mucho tiempo de hacerlo funcionar, también intenté la versión con “await” pero ninguno de ellos recoge las reacciones. El recolector completa su ciclo, pero luego muestra que no se ha recogido ninguna reacción.

        if (command == 'react') {

        const filter = (reaction,user) => {
            return user.id === message.author.id;
        }

        const collector = message.createReactionCollector({
            filter,
            max: 1,
            time: 1000 * 5,
        })

        collector.on('collect',(reaction) =>{
            console.log(reaction.emoji);
        })

        collector.on('end',(collected) =>{
            console.log(collected);
        })
    }
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Del fragmento de código proporcionado, parece que el problema se encuentra en la función de filtrado. El filtro actual solo permite recopilar las reacciones realizadas por el autor del mensaje. Por lo tanto, si alguien más reacciona al mensaje, no será recopilado por el recolector.

    Para solucionar esto, puedes modificar el filtro para que acepte reacciones de cualquier persona eliminando la condición user.id o especificar un ID de usuario diferente si es necesario.

    Aquí tienes un ejemplo de cómo puedes modificar la función de filtro:

    const filter = (reaction, user) => {
      // aceptar cualquier reacción
      return true;
      // o especificar un ID de usuario diferente
      // return user.id === '1234567890';
    }
    

    Con esta modificación, el recolector debería poder recopilar todas las reacciones realizadas al mensaje.

    Además, asegúrate de que el mensaje del que estás intentando recopilar las reacciones esté disponible y visible para el bot, y de que el bot tenga los permisos necesarios para leer las reacciones en el mensaje.

Comments are closed.