diff --git a/assets/openapi.json b/assets/openapi.json index 6bf6f9225..5d73449d2 100644 Binary files a/assets/openapi.json and b/assets/openapi.json differ diff --git a/assets/schemas.json b/assets/schemas.json index 4d3646d61..3e597f094 100644 Binary files a/assets/schemas.json and b/assets/schemas.json differ diff --git a/src/gateway/opcodes/Identify.ts b/src/gateway/opcodes/Identify.ts index 352fd6fed..0c36829e4 100644 --- a/src/gateway/opcodes/Identify.ts +++ b/src/gateway/opcodes/Identify.ts @@ -536,6 +536,7 @@ export async function onIdentify(this: WebSocket, data: Payload) { version: 0, // TODO }, private_channels: channels, + presences: [], // TODO: Send actual data session_id: this.session_id, country_code: user.settings.locale, // TODO: do ip analysis instead users: Array.from(users), diff --git a/src/schemas/gateway/IdentifySchema.ts b/src/schemas/gateway/IdentifySchema.ts index 7d0eedae5..f52b8ff17 100644 --- a/src/schemas/gateway/IdentifySchema.ts +++ b/src/schemas/gateway/IdentifySchema.ts @@ -18,7 +18,7 @@ // TODO: Need a way to allow camalCase and pascal_case without just duplicating the schema -import { ActivitySchema } from "@spacebar/schemas" +import { ActivitySchema } from "@spacebar/schemas"; export const IdentifySchema = { token: String, @@ -58,7 +58,7 @@ export const IdentifySchema = { $capabilities: Number, $client_state: { $guild_hashes: Object, - $highest_last_message_id: String || Number, + $highest_last_message_id: Number, $read_state_version: Number, $user_guild_settings_version: Number, $user_settings_version: undefined, @@ -70,7 +70,7 @@ export const IdentifySchema = { }, $clientState: { $guildHashes: Object, - $highestLastMessageId: String || Number, + $highestLastMessageId: Number, $readStateVersion: Number, $useruserGuildSettingsVersion: undefined, $userGuildSettingsVersion: undefined, @@ -120,7 +120,7 @@ export interface IdentifySchema { capabilities?: number; client_state?: { guild_hashes?: unknown; - highest_last_message_id?: string | number; + highest_last_message_id?: number; read_state_version?: number; user_guild_settings_version?: number; user_settings_version?: number; @@ -132,7 +132,7 @@ export interface IdentifySchema { }; clientState?: { guildHashes?: unknown; - highestLastMessageId?: string | number; + highestLastMessageId?: number; readStateVersion?: number; userGuildSettingsVersion?: number; useruserGuildSettingsVersion?: number; diff --git a/src/util/interfaces/Event.ts b/src/util/interfaces/Event.ts index b70b92f85..24157efd1 100644 --- a/src/util/interfaces/Event.ts +++ b/src/util/interfaces/Event.ts @@ -69,6 +69,7 @@ export interface ReadyEventData { v: number; user: UserPrivate; private_channels: ReadyPrivateChannel[]; // this will be empty for bots + presences: Presence[]; session_id: string; // resuming guilds: IReadyGuildDTO[] | GuildOrUnavailable[]; // depends on capability analytics_token?: string;