diff options
author | Madeline <46743919+MaddyUnderStars@users.noreply.github.com> | 2022-09-27 18:51:43 +1000 |
---|---|---|
committer | Madeline <46743919+MaddyUnderStars@users.noreply.github.com> | 2022-09-27 18:51:43 +1000 |
commit | 5563a92d25274591cc3981221ae4f40c2b43873a (patch) | |
tree | 10238da72796a694816acf65234cce3c120b535c /src/util/entities/Member.ts | |
parent | client patcher stuff (diff) | |
download | server-5563a92d25274591cc3981221ae4f40c2b43873a.tar.xz |
Don't fetch all members in guild in Member.addToGuild
Diffstat (limited to '')
-rw-r--r-- | src/util/entities/Member.ts | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/util/entities/Member.ts b/src/util/entities/Member.ts index f2762adc..27c67c40 100644 --- a/src/util/entities/Member.ts +++ b/src/util/entities/Member.ts @@ -10,6 +10,7 @@ import { JoinTable, ManyToMany, ManyToOne, + Not, PrimaryGeneratedColumn, RelationId, } from "typeorm"; @@ -287,6 +288,19 @@ export class Member extends BaseClassWithoutId { relations: [...PublicGuildRelations, "system_channel"], }); + const memberCount = await Member.count({ where: { guild_id } }); + const memberPreview = await Member.find({ + where: { + guild_id, + user: { + sessions: { + status: Not("invisible" as "invisible") // lol typescript? + } + } + }, + take: 10, + }); + if ( await Member.count({ where: { id: user.id, guild: { id: guild_id } }, @@ -342,8 +356,8 @@ export class Member extends BaseClassWithoutId { event: "GUILD_CREATE", data: { ...guild, - members: [...guild.members, { ...member, user }], - member_count: (guild.member_count || 0) + 1, + members: [...memberPreview, { ...member, user }], + member_count: memberCount + 1, guild_hashes: {}, guild_scheduled_events: [], joined_at: member.joined_at, |