summary refs log tree commit diff
path: root/src/gateway/schema/Activity.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/gateway/schema/Activity.ts')
-rw-r--r--src/gateway/schema/Activity.ts60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/gateway/schema/Activity.ts b/src/gateway/schema/Activity.ts
new file mode 100644

index 00000000..f58b0fa9 --- /dev/null +++ b/src/gateway/schema/Activity.ts
@@ -0,0 +1,60 @@ +import { Activity, Status } from "@fosscord/util"; + +export const ActivitySchema = { + afk: Boolean, + status: String, + $activities: [ + { + name: String, + type: Number, + $url: String, + $created_at: Date, + $timestamps: { + $start: Number, + $end: Number, + }, + $application_id: String, + $details: String, + $state: String, + $emoji: { + $name: String, + $id: String, + $animated: Boolean, + }, + $party: { + $id: String, + $size: [Number, Number], + }, + $assets: { + $large_image: String, + $large_text: String, + $small_image: String, + $small_text: String, + }, + $secrets: { + $join: String, + $spectate: String, + $match: String, + }, + $instance: Boolean, + $flags: String, + + $id: String, + $sync_id: String, + $metadata: { // spotify + $context_uri: String, + album_id: String, + artist_ids: [String], + }, + $session_id: String, + }, + ], + $since: Number, // unix time (in milliseconds) of when the client went idle, or null if the client is not idle +}; + +export interface ActivitySchema { + afk: boolean; + status: Status; + activities?: Activity[]; + since?: number; // unix time (in milliseconds) of when the client went idle, or null if the client is not idle +}