diff --git a/src/gateway/opcodes/Identify.ts b/src/gateway/opcodes/Identify.ts
index 352fd6fe..0c36829e 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 7d0eedae..f52b8ff1 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 b70b92f8..24157efd 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;
|