mirror of
https://github.com/spacebarchat/server.git
synced 2026-06-04 23:51:46 +00:00
Client: update to canary 165341
This commit is contained in:
@@ -0,0 +1,153 @@
|
||||
import { Channel, Emoji, Guild, Member, Role, Sticker } from "../entities";
|
||||
|
||||
export interface IReadyGuildDTO {
|
||||
application_command_counts?: { 1: number; 2: number; 3: number }; // ????????????
|
||||
channels: Channel[];
|
||||
data_mode: string; // what is this
|
||||
emojis: Emoji[];
|
||||
guild_scheduled_events: any[];
|
||||
id: string;
|
||||
large: boolean | undefined;
|
||||
lazy: boolean;
|
||||
member_count: number | undefined;
|
||||
members: Member[];
|
||||
premium_subscription_count: number | undefined;
|
||||
properties: {
|
||||
name: string;
|
||||
description?: string | null;
|
||||
icon?: string | null;
|
||||
splash?: string | null;
|
||||
banner?: string | null;
|
||||
features: string[];
|
||||
preferred_locale?: string | null;
|
||||
owner_id?: string | null;
|
||||
application_id?: string | null;
|
||||
afk_channel_id?: string | null;
|
||||
afk_timeout: number | undefined;
|
||||
system_channel_id?: string | null;
|
||||
verification_level: number | undefined;
|
||||
explicit_content_filter: number | undefined;
|
||||
default_message_notifications: number | undefined;
|
||||
mfa_level: number | undefined;
|
||||
vanity_url_code?: string | null;
|
||||
premium_tier: number | undefined;
|
||||
premium_progress_bar_enabled: boolean;
|
||||
system_channel_flags: number | undefined;
|
||||
discovery_splash?: string | null;
|
||||
rules_channel_id?: string | null;
|
||||
public_updates_channel_id?: string | null;
|
||||
max_video_channel_users: number | undefined;
|
||||
max_members: number | undefined;
|
||||
nsfw_level: number | undefined;
|
||||
hub_type?: any | null; // ????
|
||||
};
|
||||
roles: Role[];
|
||||
stage_instances: any[];
|
||||
stickers: Sticker[];
|
||||
threads: any[];
|
||||
version: string;
|
||||
}
|
||||
|
||||
export class ReadyGuildDTO implements IReadyGuildDTO {
|
||||
application_command_counts?: { 1: number; 2: number; 3: number }; // ????????????
|
||||
channels: Channel[];
|
||||
data_mode: string; // what is this
|
||||
emojis: Emoji[];
|
||||
guild_scheduled_events: any[];
|
||||
id: string;
|
||||
large: boolean | undefined;
|
||||
lazy: boolean;
|
||||
member_count: number | undefined;
|
||||
members: Member[];
|
||||
premium_subscription_count: number | undefined;
|
||||
properties: {
|
||||
name: string;
|
||||
description?: string | null;
|
||||
icon?: string | null;
|
||||
splash?: string | null;
|
||||
banner?: string | null;
|
||||
features: string[];
|
||||
preferred_locale?: string | null;
|
||||
owner_id?: string | null;
|
||||
application_id?: string | null;
|
||||
afk_channel_id?: string | null;
|
||||
afk_timeout: number | undefined;
|
||||
system_channel_id?: string | null;
|
||||
verification_level: number | undefined;
|
||||
explicit_content_filter: number | undefined;
|
||||
default_message_notifications: number | undefined;
|
||||
mfa_level: number | undefined;
|
||||
vanity_url_code?: string | null;
|
||||
premium_tier: number | undefined;
|
||||
premium_progress_bar_enabled: boolean;
|
||||
system_channel_flags: number | undefined;
|
||||
discovery_splash?: string | null;
|
||||
rules_channel_id?: string | null;
|
||||
public_updates_channel_id?: string | null;
|
||||
max_video_channel_users: number | undefined;
|
||||
max_members: number | undefined;
|
||||
nsfw_level: number | undefined;
|
||||
hub_type?: any | null; // ????
|
||||
};
|
||||
roles: Role[];
|
||||
stage_instances: any[];
|
||||
stickers: Sticker[];
|
||||
threads: any[];
|
||||
version: string;
|
||||
|
||||
constructor(guild: Guild) {
|
||||
this.application_command_counts = {
|
||||
1: 5,
|
||||
2: 2,
|
||||
3: 2,
|
||||
}; // ?????
|
||||
this.channels = guild.channels;
|
||||
this.data_mode = "full";
|
||||
this.emojis = guild.emojis;
|
||||
this.guild_scheduled_events = [];
|
||||
this.id = guild.id;
|
||||
this.large = guild.large;
|
||||
this.lazy = true; // ??????????
|
||||
this.member_count = guild.member_count;
|
||||
this.members = guild.members;
|
||||
this.premium_subscription_count = guild.premium_subscription_count;
|
||||
this.properties = {
|
||||
name: guild.name,
|
||||
description: guild.description,
|
||||
icon: guild.icon,
|
||||
splash: guild.splash,
|
||||
banner: guild.banner,
|
||||
features: guild.features,
|
||||
preferred_locale: guild.preferred_locale,
|
||||
owner_id: guild.owner_id,
|
||||
application_id: null, // ?????
|
||||
afk_channel_id: guild.afk_channel_id,
|
||||
afk_timeout: guild.afk_timeout,
|
||||
system_channel_id: guild.system_channel_id,
|
||||
verification_level: guild.verification_level,
|
||||
explicit_content_filter: guild.explicit_content_filter,
|
||||
default_message_notifications: guild.default_message_notifications,
|
||||
mfa_level: guild.mfa_level,
|
||||
vanity_url_code: null, // ?????
|
||||
premium_tier: guild.premium_tier,
|
||||
premium_progress_bar_enabled: guild.premium_progress_bar_enabled,
|
||||
system_channel_flags: guild.system_channel_flags,
|
||||
discovery_splash: guild.discovery_splash,
|
||||
rules_channel_id: guild.rules_channel_id,
|
||||
public_updates_channel_id: guild.public_updates_channel_id,
|
||||
max_video_channel_users: guild.max_video_channel_users,
|
||||
max_members: guild.max_members,
|
||||
nsfw_level: guild.nsfw_level,
|
||||
hub_type: null,
|
||||
};
|
||||
this.roles = guild.roles;
|
||||
this.stage_instances = [];
|
||||
this.stickers = guild.stickers;
|
||||
this.threads = [];
|
||||
this.version = "1"; // ??????
|
||||
}
|
||||
|
||||
toJSON() {
|
||||
return this as IReadyGuildDTO;
|
||||
}
|
||||
}
|
||||
@@ -1,2 +1,3 @@
|
||||
export * from "./DmChannelDTO";
|
||||
export * from "./ReadyGuildDTO";
|
||||
export * from "./UserDTO";
|
||||
|
||||
@@ -29,6 +29,7 @@ import { Role } from "./Role";
|
||||
import { BaseClassWithoutId } from "./BaseClass";
|
||||
import { Ban, PublicGuildRelations } from ".";
|
||||
import { DiscordApiErrors } from "../util/Constants";
|
||||
import { ReadyGuildDTO } from "../dtos";
|
||||
|
||||
export const MemberPrivateProjection: (keyof Member)[] = [
|
||||
"id",
|
||||
@@ -363,7 +364,7 @@ export class Member extends BaseClassWithoutId {
|
||||
emitEvent({
|
||||
event: "GUILD_CREATE",
|
||||
data: {
|
||||
...guild,
|
||||
...new ReadyGuildDTO(guild).toJSON(),
|
||||
members: [...memberPreview, { ...member, user }],
|
||||
member_count: memberCount + 1,
|
||||
guild_hashes: {},
|
||||
@@ -373,6 +374,7 @@ export class Member extends BaseClassWithoutId {
|
||||
stage_instances: [],
|
||||
threads: [],
|
||||
embedded_activities: [],
|
||||
voice_states: guild.voice_states
|
||||
},
|
||||
user_id,
|
||||
} as GuildCreateEvent),
|
||||
|
||||
@@ -20,6 +20,7 @@ import {
|
||||
Status,
|
||||
Presence,
|
||||
UserSettings,
|
||||
IReadyGuildDTO,
|
||||
} from "@fosscord/util";
|
||||
|
||||
export interface Event {
|
||||
@@ -62,7 +63,7 @@ export interface ReadyEventData {
|
||||
};
|
||||
private_channels: Channel[]; // this will be empty for bots
|
||||
session_id: string; // resuming
|
||||
guilds: Guild[];
|
||||
guilds: IReadyGuildDTO[];
|
||||
analytics_token?: string;
|
||||
connected_accounts?: ConnectedAccount[];
|
||||
consents?: {
|
||||
@@ -155,7 +156,7 @@ export interface ChannelRecipientRemoveEvent extends Event {
|
||||
|
||||
export interface GuildCreateEvent extends Event {
|
||||
event: "GUILD_CREATE";
|
||||
data: Guild & {
|
||||
data: IReadyGuildDTO & {
|
||||
joined_at: Date;
|
||||
// TODO: add them to guild
|
||||
guild_scheduled_events: never[];
|
||||
|
||||
@@ -44,6 +44,8 @@ export const IdentifySchema = {
|
||||
$user_settings_version: undefined,
|
||||
$useruser_guild_settings_version: undefined,
|
||||
$private_channels_version: Number,
|
||||
$guild_versions: Object,
|
||||
$api_code_version: Number,
|
||||
},
|
||||
$clientState: {
|
||||
$guildHashes: Object,
|
||||
@@ -51,6 +53,8 @@ export const IdentifySchema = {
|
||||
$readStateVersion: Number,
|
||||
$useruserGuildSettingsVersion: undefined,
|
||||
$userGuildSettingsVersion: undefined,
|
||||
$guildVersions: Object,
|
||||
$apiCodeVersion: Number,
|
||||
},
|
||||
$v: Number,
|
||||
$version: Number,
|
||||
@@ -96,6 +100,8 @@ export interface IdentifySchema {
|
||||
user_settings_version?: number;
|
||||
useruser_guild_settings_version?: number;
|
||||
private_channels_version?: number;
|
||||
guild_versions?: any;
|
||||
api_code_version?: number;
|
||||
};
|
||||
clientState?: {
|
||||
guildHashes?: any;
|
||||
@@ -103,6 +109,8 @@ export interface IdentifySchema {
|
||||
readStateVersion?: number;
|
||||
userGuildSettingsVersion?: number;
|
||||
useruserGuildSettingsVersion?: number;
|
||||
guildVersions?: any;
|
||||
apiCodeVersion?: number;
|
||||
};
|
||||
v?: number;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user