diff --git a/src/structures/PartialGroupDMChannel.js b/src/structures/PartialGroupDMChannel.js index babd470..45bbff2 100644 --- a/src/structures/PartialGroupDMChannel.js +++ b/src/structures/PartialGroupDMChannel.js @@ -154,13 +154,14 @@ class PartialGroupDMChannel extends Channel { * @returns {Promise} */ async addMember(user) { - user = this.client.users.resolveId(user); - if (!user) { + const userId = this.client.users.resolveId(user); + user = this.client.users.resolve(userId); + if (!userId) { return Promise.reject(new TypeError('User is not a User or User ID')); } - if (this.recipients.get(user)) return Promise.reject(new Error('USER_ALREADY_IN_GROUP_DM_CHANNEL')); // Fails sometimes if member leaves recently (ex. user leave msg's channel used for adding) - await this.client.api.channels[this.id].recipients[user].put(); - this._recipients = this._recipients.filter(r => r.id !== user); + if (this.recipients.get(userId)) return Promise.reject(new Error('USER_ALREADY_IN_GROUP_DM_CHANNEL')); // Fails sometimes if member leaves recently (ex. user leave msg's channel used for adding) + await this.client.api.channels[this.id].recipients[userId].put(); + this._recipients.push(user); return this; }