@@ -16,19 +16,29 @@ export enum ActivityPartyPrivacy {
1616 PUBLIC = 1
1717}
1818
19+ export enum StatusDisplayType {
20+ ACTIVITY_NAME = 0 ,
21+ ACTIVITY_STATE = 1 ,
22+ ACTIVITY_DETAILS = 2
23+ }
24+
1925export type SetActivity = {
2026 name ?: string ;
2127 type ?: ActivityType ;
2228 url ?: string ;
2329
2430 state ?: string ;
31+ stateUrl ?: string ;
2532 details ?: string ;
33+ detailsUrl ?: string ;
2634
2735 startTimestamp ?: number | Date ;
2836 endTimestamp ?: number | Date ;
2937
3038 largeImageKey ?: string ;
39+ largeImageUrl ?: string ;
3140 smallImageKey ?: string ;
41+ smallImageUrl ?: string ;
3242 largeImageText ?: string ;
3343 smallImageText ?: string ;
3444
@@ -44,6 +54,7 @@ export type SetActivity = {
4454 buttons ?: GatewayActivityButton [ ] ;
4555 supportedPlatforms ?: ( ActivitySupportedPlatform | `${ActivitySupportedPlatform } `) [ ] ;
4656
57+ statusDisplayType ?: StatusDisplayType ;
4758 applicationId ?: string ;
4859 flags ?: number ;
4960
@@ -244,6 +255,8 @@ export class ClientUser extends User {
244255 // Details & state
245256 if ( activity . details ) formattedActivity . details = activity . details ;
246257 if ( activity . state ) formattedActivity . state = activity . state ;
258+ if ( activity . detailsUrl ) formattedActivity . details_url = activity . detailsUrl ;
259+ if ( activity . stateUrl ) formattedActivity . state_url = activity . stateUrl ;
247260
248261 // Timestamps (only if any defined)
249262 if ( activity . startTimestamp || activity . endTimestamp ) {
@@ -262,12 +275,19 @@ export class ClientUser extends User {
262275 }
263276
264277 // Assets (only if any defined)
265- if ( activity . largeImageKey || activity . smallImageKey || activity . largeImageText || activity . smallImageText ) {
278+ if ( activity . largeImageKey || activity . smallImageKey || activity . largeImageText || activity . smallImageText || activity . largeImageUrl || activity . smallImageUrl ) {
266279 formattedActivity . assets = { } ;
267280 if ( activity . largeImageKey ) formattedActivity . assets . large_image = activity . largeImageKey ;
268281 if ( activity . smallImageKey ) formattedActivity . assets . small_image = activity . smallImageKey ;
269282 if ( activity . largeImageText ) formattedActivity . assets . large_text = activity . largeImageText ;
270283 if ( activity . smallImageText ) formattedActivity . assets . small_text = activity . smallImageText ;
284+ if ( activity . largeImageUrl ) formattedActivity . assets . large_url = activity . largeImageUrl ;
285+ if ( activity . smallImageUrl ) formattedActivity . assets . small_url = activity . smallImageUrl ;
286+ }
287+
288+ // Status display type
289+ if ( activity . statusDisplayType !== undefined ) {
290+ formattedActivity . status_display_type = activity . statusDisplayType ;
271291 }
272292
273293 // Party (only if any defined)
0 commit comments