diff --git a/index.d.ts b/index.d.ts index aa30ff952..0e6d875f2 100644 --- a/index.d.ts +++ b/index.d.ts @@ -3104,7 +3104,7 @@ declare namespace Eris { addReaction(reaction: string): Promise; /** @deprecated */ addReaction(reaction: string, userID: string): Promise; - createThreadWithMessage(messageID: string, options: CreateThreadOptions): Promise; + createThreadWithMessage(options: CreateThreadOptions): Promise; crosspost(): Promise : never>; delete(reason?: string): Promise; deleteWebhook(token: string): Promise; diff --git a/lib/gateway/Shard.js b/lib/gateway/Shard.js index ad66d7ca4..e47555a0f 100644 --- a/lib/gateway/Shard.js +++ b/lib/gateway/Shard.js @@ -2245,7 +2245,9 @@ class Shard extends EventEmitter { m.member.id = m.member.user.id; const guild = this.client.guilds.get(packet.d.guild_id); if(guild) { - guild.members.update(m.presence, guild); + if(m.presence) { + guild.members.update(m.presence, guild); + } guild.members.update(m.member, guild); } return channel.members.update(m, this.client); diff --git a/lib/structures/Member.js b/lib/structures/Member.js index 02ce7991a..04a489927 100644 --- a/lib/structures/Member.js +++ b/lib/structures/Member.js @@ -58,7 +58,11 @@ class Member extends Base { throw new Error("User associated with Member not found: " + data.id); } } else if(data.user) { - this.user = new User(data.user, client); + if(!client) { + this.user = new User(data.user); + } else { + this.user = client.users.update(data.user, client); + } } else { this.user = null; }