diff --git a/src/stores/GuildMemberRoleStore.js b/src/stores/GuildMemberRoleStore.js index 9de5ab14d..af9d08ef1 100644 --- a/src/stores/GuildMemberRoleStore.js +++ b/src/stores/GuildMemberRoleStore.js @@ -128,6 +128,12 @@ class GuildMemberRoleStore extends DataStore { } } + clone() { + const clone = new this.constructor(this.member); + clone._patch(this.keyArray()); + return clone; + } + /** * Resolves a RoleResolvable to a Role object. * @method resolve diff --git a/src/structures/GuildMember.js b/src/structures/GuildMember.js index 3f609ddde..1b988d32f 100644 --- a/src/structures/GuildMember.js +++ b/src/structures/GuildMember.js @@ -75,6 +75,12 @@ class GuildMember extends Base { if (data.roles) this.roles._patch(data.roles); } + _clone() { + const clone = super._clone(); + clone.roles = this.roles.clone(); + return clone; + } + get voiceState() { return this._frozenVoiceState || this.guild.voiceStates.get(this.id) || {}; }