feat(Activity): add missing fields (#4984)

Co-authored-by: Jan <66554238+Vaporox@users.noreply.github.com>
This commit is contained in:
Advaith
2021-04-06 14:03:45 -07:00
committed by GitHub
parent 599f0f5cef
commit 63ff6a07eb
2 changed files with 46 additions and 1 deletions

View File

@@ -138,6 +138,14 @@ class Presence {
}
}
/**
* The platform of this activity:
* * **`desktop`**
* * **`samsung`** - playing on Samsung Galaxy
* * **`xbox`** - playing on Xbox Live
* @typedef {string} ActivityPlatform
*/
/**
* Represents an activity that is part of a user's presence.
*/
@@ -146,7 +154,13 @@ class Activity {
Object.defineProperty(this, 'presence', { value: presence });
/**
* The name of the activity being played
* The ID of the activity
* @type {string}
*/
this.id = data.id;
/**
* The name of the activity
* @type {string}
*/
this.name = data.name;
@@ -194,6 +208,18 @@ class Activity {
}
: null;
/**
* The ID of the song on Spotify
* @type {?string}
*/
this.syncID = data.sync_id ?? null;
/**
* The platform the game is being played on
* @type {?ActivityPlatform}
*/
this.platform = data.platform ?? null;
/**
* Party of the activity
* @type {?Object}
@@ -222,6 +248,18 @@ class Activity {
*/
this.emoji = data.emoji ? new Emoji(presence.client, data.emoji) : null;
/**
* The ID of the game or Spotify session
* @type {?string}
*/
this.sessionID = data.session_id ?? null;
/**
* The labels of the buttons of this rich presence
* @type {string[]}
*/
this.buttons = data.buttons ?? [];
/**
* Creation date of the activity
* @type {number}

7
typings/index.d.ts vendored
View File

@@ -30,17 +30,22 @@ declare module 'discord.js' {
constructor(presence: Presence, data?: object);
public applicationID: Snowflake | null;
public assets: RichPresenceAssets | null;
public buttons: string[];
public readonly createdAt: Date;
public createdTimestamp: number;
public details: string | null;
public emoji: Emoji | null;
public flags: Readonly<ActivityFlags>;
public id: string;
public name: string;
public party: {
id: string | null;
size: [number, number];
} | null;
public platform: ActivityPlatform | null;
public sessionID: string | null;
public state: string | null;
public syncID: string | null;
public timestamps: {
start: Date | null;
end: Date | null;
@@ -2170,6 +2175,8 @@ declare module 'discord.js' {
shardID?: number | readonly number[];
}
type ActivityPlatform = 'desktop' | 'samsung' | 'xbox';
type ActivityType = 'PLAYING' | 'STREAMING' | 'LISTENING' | 'WATCHING' | 'CUSTOM_STATUS' | 'COMPETING';
interface AddGuildMemberOptions {