Skip to content

Commit f7641f6

Browse files
committed
feat: clickable links and custom status
1 parent 2f36f4e commit f7641f6

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

src/structures/ClientUser.ts

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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+
1925
export 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

Comments
 (0)