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.

discord.js v13 verifica si un miembro está en un servidor

Quiero verificar si un miembro está o no en un servidor.
Este es mi código actual:

function CheckIfManagerIsInServer(client, server_id, member) {
    let isIn = { isIn: true, isNotIn: [] };

    if (CheckIfIsInChain(server_id)) {
        database.chains.forEach(chain => {
            if(chain.membersID.includes(server_id)) {
                chain.members.forEach(server => {

                    const guild = client.guilds.cache.get(server)

                    // verificar si el miembro está en el servidor

                })
            }
        })
    }

    return isIn;
}

El parámetro member es la identificación del miembro.
¿Cómo puedo verificar si el miembro está o no en el servidor (guild)?
Estoy utilizando v13.5.0.
Mi bot está verificado y tiene habilitado GUILD_MEMBERS.
He intentado varios métodos pero no funcionan.
¿Cómo puedo hacerlo?
¡Gracias de antemano y disculpa por el mal inglés!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para verificar si un miembro está en un servidor utilizando discord.js v13.5.0, puedes hacer lo siguiente dentro de la función CheckIfManagerIsInServer:

    function CheckIfManagerIsInServer(client, server_id, member_id) {
      let isIn = { isIn: true, isNotIn: [] };
    
      if (CheckIfIsInChain(server_id)) {
        database.chains.forEach(chain => {
          if (chain.membersID.includes(server_id)) {
            chain.members.forEach(server => {
    
              const guild = client.guilds.cache.get(server);
    
              // Verificar si el miembro está en el gremio
              const member = guild.members.cache.get(member_id);
              if (!member) {
                isIn.isIn = false; // Si el miembro no está en el gremio, se establece isIn en falso
                isIn.isNotIn.push(server); // Agregar el servidor al array isNotIn
              }
    
            })
          }
        })
      }
    
      return isIn;
    }
    

    Aquí, primero obtenemos el objeto guild utilizando client.guilds.cache.get(server) como ya estabas haciendo. Luego, podemos verificar si el miembro está en el gremio utilizando guild.members.cache.get(member_id). Si esto devuelve undefined, significa que el miembro no está en el gremio, por lo que establecemos isIn en falso y agregamos el server al array isNotIn.

    Ten en cuenta que se utiliza member_id en lugar de member para el parámetro de la función, ya que solo necesitamos el ID del miembro, no el objeto del miembro.

    ¡Espero que esto te ayude! Hazme saber si tienes alguna otra pregunta.

Comments are closed.