summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/util/interfaces/Activity.ts9
-rw-r--r--src/util/schemas/ActivitySchema.ts11
2 files changed, 19 insertions, 1 deletions
diff --git a/src/util/interfaces/Activity.ts b/src/util/interfaces/Activity.ts
index 3b36b4a6..7e9c6a56 100644
--- a/src/util/interfaces/Activity.ts
+++ b/src/util/interfaces/Activity.ts
@@ -33,6 +33,15 @@ export interface Activity {
 	};
 	instance?: boolean;
 	flags: string; // activity flags OR d together, describes what the payload includes
+	// spotify and other rich presence data
+	id?: string;
+	sync_id?: string;
+	metadata?: {
+		context_uri?: string;
+		album_id?: string;
+		artist_ids?: string[];
+	},
+	session_id?: string;
 }
 
 export enum ActivityType {
diff --git a/src/util/schemas/ActivitySchema.ts b/src/util/schemas/ActivitySchema.ts
index d94557ea..db42fff4 100644
--- a/src/util/schemas/ActivitySchema.ts
+++ b/src/util/schemas/ActivitySchema.ts
@@ -37,7 +37,16 @@ export const ActivitySchema = {
 				$match: String
 			},
 			$instance: Boolean,
-			$flags: String
+			$flags: String,
+			// spotify and other rich presence data
+			$id: String,
+			$sync_id: String,
+			$metadata: {
+				$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