summary refs log tree commit diff
path: root/util/src/entities
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-09-03 12:53:25 +0200
committerFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-09-03 12:53:25 +0200
commitddf4f54e8157f5f2469852025e111517cd35bb02 (patch)
treea3ccdf2cc213c6f9d23d2bbba88f84dd4a11e981 /util/src/entities
parentfix #310 (diff)
downloadserver-ddf4f54e8157f5f2469852025e111517cd35bb02.tar.xz
:bug: fix client connection crash on guild create
Diffstat (limited to 'util/src/entities')
-rw-r--r--util/src/entities/Member.ts21
1 files changed, 17 insertions, 4 deletions
diff --git a/util/src/entities/Member.ts b/util/src/entities/Member.ts
index ae60f4e2..db4e827b 100644
--- a/util/src/entities/Member.ts
+++ b/util/src/entities/Member.ts
@@ -208,7 +208,7 @@ export class Member extends BaseClassWithoutId {
 			where: {
 				id: guild_id,
 			},
-			relations: ["channels", "emojis", "members", "roles", "stickers"],
+			relations: ["channels", "emojis", "members", "roles", "stickers", "voice_states"],
 		});
 
 		if (await Member.count({ id: user.id, guild: { id: guild_id } }))
@@ -225,8 +225,6 @@ export class Member extends BaseClassWithoutId {
 			mute: false,
 			pending: false,
 		};
-		// @ts-ignore
-		guild.joined_at = member.joined_at.toISOString();
 
 		await Promise.all([
 			Member.insert({
@@ -255,7 +253,22 @@ export class Member extends BaseClassWithoutId {
 			} as GuildMemberAddEvent),
 			emitEvent({
 				event: "GUILD_CREATE",
-				data: { ...guild, members: [...guild.members, { ...member, user }] },
+				data: {
+					...guild,
+					members: [...guild.members, { ...member, user }],
+					member_count: (guild.member_count || 0) + 1,
+					guild_hashes: {
+						channels: { omitted: false, hash: "nkMQJ5nl5Cg" },
+						metadata: { omitted: false, hash: "+5ybMfcb8iw" },
+						roles: { omitted: false, hash: "Idhc6P9ktfM" },
+						version: 1,
+					},
+					guild_scheduled_events: [],
+					joined_at: member.joined_at,
+					presences: [],
+					stage_instances: [],
+					threads: [],
+				},
 				user_id,
 			} as GuildCreateEvent),
 		]);