Fix DC client throwing on GUILD_CREATE
This commit is contained in:
parent
5771552408
commit
9a6390b9bd
@ -16,7 +16,14 @@
|
|||||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Channel, Emoji, Guild, Member, Role, Sticker } from "../entities";
|
import {
|
||||||
|
Channel,
|
||||||
|
Emoji,
|
||||||
|
Guild,
|
||||||
|
PublicMember,
|
||||||
|
Role,
|
||||||
|
Sticker,
|
||||||
|
} from "../entities";
|
||||||
|
|
||||||
export interface IReadyGuildDTO {
|
export interface IReadyGuildDTO {
|
||||||
application_command_counts?: { 1: number; 2: number; 3: number }; // ????????????
|
application_command_counts?: { 1: number; 2: number; 3: number }; // ????????????
|
||||||
@ -28,7 +35,7 @@ export interface IReadyGuildDTO {
|
|||||||
large: boolean | undefined;
|
large: boolean | undefined;
|
||||||
lazy: boolean;
|
lazy: boolean;
|
||||||
member_count: number | undefined;
|
member_count: number | undefined;
|
||||||
members: Member[];
|
members: PublicMember[];
|
||||||
premium_subscription_count: number | undefined;
|
premium_subscription_count: number | undefined;
|
||||||
properties: {
|
properties: {
|
||||||
name: string;
|
name: string;
|
||||||
@ -76,7 +83,7 @@ export class ReadyGuildDTO implements IReadyGuildDTO {
|
|||||||
large: boolean | undefined;
|
large: boolean | undefined;
|
||||||
lazy: boolean;
|
lazy: boolean;
|
||||||
member_count: number | undefined;
|
member_count: number | undefined;
|
||||||
members: Member[];
|
members: PublicMember[];
|
||||||
premium_subscription_count: number | undefined;
|
premium_subscription_count: number | undefined;
|
||||||
properties: {
|
properties: {
|
||||||
name: string;
|
name: string;
|
||||||
@ -127,7 +134,7 @@ export class ReadyGuildDTO implements IReadyGuildDTO {
|
|||||||
this.large = guild.large;
|
this.large = guild.large;
|
||||||
this.lazy = true; // ??????????
|
this.lazy = true; // ??????????
|
||||||
this.member_count = guild.member_count;
|
this.member_count = guild.member_count;
|
||||||
this.members = guild.members;
|
this.members = guild.members?.map((x) => x.toPublicMember());
|
||||||
this.premium_subscription_count = guild.premium_subscription_count;
|
this.premium_subscription_count = guild.premium_subscription_count;
|
||||||
this.properties = {
|
this.properties = {
|
||||||
name: guild.name,
|
name: guild.name,
|
||||||
|
@ -330,17 +330,25 @@ export class Member extends BaseClassWithoutId {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const memberCount = await Member.count({ where: { guild_id } });
|
const memberCount = await Member.count({ where: { guild_id } });
|
||||||
const memberPreview = await Member.find({
|
|
||||||
where: {
|
const memberPreview = (
|
||||||
guild_id,
|
await Member.find({
|
||||||
user: {
|
where: {
|
||||||
sessions: {
|
guild_id,
|
||||||
status: Not("invisible" as const), // lol typescript?
|
user: {
|
||||||
|
sessions: {
|
||||||
|
status: Not("invisible" as const), // lol typescript?
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
relations: ["user", "roles"],
|
||||||
take: 10,
|
take: 10,
|
||||||
});
|
})
|
||||||
|
).map((member) => ({
|
||||||
|
...member.toPublicMember(),
|
||||||
|
user: member.user.toPublicUser(),
|
||||||
|
roles: member.roles.map((x) => x.id),
|
||||||
|
}));
|
||||||
|
|
||||||
if (
|
if (
|
||||||
await Member.count({
|
await Member.count({
|
||||||
|
Loading…
x
Reference in New Issue
Block a user