@@ -8,6 +8,7 @@ const { DiscordjsError, ErrorCodes } = require('../errors');
88const GuildMemberRoleManager = require ( '../managers/GuildMemberRoleManager' ) ;
99const { GuildMemberFlagsBitField } = require ( '../util/GuildMemberFlagsBitField' ) ;
1010const PermissionsBitField = require ( '../util/PermissionsBitField' ) ;
11+ const { _transformCollectibles } = require ( '../util/Transformers.js' ) ;
1112
1213/**
1314 * Represents a member of a guild on Discord.
@@ -140,6 +141,17 @@ class GuildMember extends Base {
140141 } else {
141142 this . avatarDecorationData = null ;
142143 }
144+
145+ if ( 'collectibles' in data ) {
146+ /**
147+ * The member's collectibles
148+ *
149+ * @type {?Collectibles }
150+ */
151+ this . collectibles = data . collectibles ? _transformCollectibles ( data . collectibles ) : null ;
152+ } else {
153+ this . collectibles ??= null ;
154+ }
143155 }
144156
145157 _clone ( ) {
@@ -541,7 +553,11 @@ class GuildMember extends Base {
541553 ( this . _roles . length === member . _roles . length &&
542554 this . _roles . every ( ( role , index ) => role === member . _roles [ index ] ) ) ) &&
543555 this . avatarDecorationData ?. asset === member . avatarDecorationData ?. asset &&
544- this . avatarDecorationData ?. skuId === member . avatarDecorationData ?. skuId
556+ this . avatarDecorationData ?. skuId === member . avatarDecorationData ?. skuId &&
557+ this . collectibles ?. nameplate ?. skuId === member . collectibles ?. nameplate ?. skuId &&
558+ this . collectibles ?. nameplate ?. asset === member . collectibles ?. nameplate ?. asset &&
559+ this . collectibles ?. nameplate ?. label === member . collectibles ?. nameplate ?. label &&
560+ this . collectibles ?. nameplate ?. palette === member . collectibles ?. nameplate ?. palette
545561 ) ;
546562 }
547563
0 commit comments