Comprensión de las colecciones en discordjs

Las colecciones son clases de utilidad que almacena datos, son la estructura de datos Map() de Javascript, con métodos de utilidad adicionales. Esto se utiliza a lo largo de discord.js en lugar de un Arrays para cualquier cosa que tenga un ID, para mejorar considerablemente el rendimiento y la facilidad de uso.

Las clases que incluyen colecciones:

  • client.users, client.guilds, client.channels
  • guild.channels, guild.members
  • client.emojis
  • messages (cuando se usa fetchMessages).

Colecciones mediante un identificador (ID)

Para obtener elementos de una colección por ID utilizamos el metodo get('ID'), por ejemplo:

Para obtener las propiedades de un canal:


Para obtener las propiedades de un usuario:


Para obtener las propiedades de un servidor:


Filtrando las colecciones

Las colecciones también tienen una forma personalizada de filtrar sus elementos con una función anónima:

Ejemplo: 12

Descripción del codigo agregado
Creamos una variable servidoresgrandes para guardar una colección de client.guilds, usando el metodo filter() obtenemos el elemento memberCount. en este caso devolvera una lista de los servidores con más de 100 miembros.


Mapeo de las colecciones

Para obtener datos especificos de una colección es usando el metodo map(). map toma una función que devuelve una lista, el resultado es un arrays de elemento de la colección.

Ejemplo: 13

Descripción del codigo agregado
Creamos una variable servernombres para guardar una colección de client.guilds, usando map() obtenemos una lista de servidores por nombre (name).


Tambien podemos tener una lista de miembros usando la coleccion client.users, como este ejemplo:

Ejemplo: 14

Descripción del codigo agregado
Creamos una variable miembrostags para guardar una colección de client.users, usando map() obtenemos una lista de todos los nombres de usuario (username) de la colección.


Combinando colecciones

En muchos casos, se puede encadenar y combinar métodos juntos para un código realmente limpio. Por ejemplo, esta es una lista delimitada de todos los servidores pequeños en donde esta su BOT:

Ejemplo: 15


Para ver todos los métodos de colección Discord.js, consulte la documentación discord.js donde describen los métodos nativos más detalladamente.