Skip to content

Commit

Permalink
feat: make changes to PresenceData typings and docs (#5317)
Browse files Browse the repository at this point in the history
Co-authored-by: Sugden <[email protected]>
  • Loading branch information
iShibi and NotSugden authored Apr 14, 2021
1 parent c9107e3 commit eb43ce4
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 10 deletions.
16 changes: 11 additions & 5 deletions src/structures/ClientUser.js
Original file line number Diff line number Diff line change
Expand Up @@ -90,15 +90,20 @@ class ClientUser extends Structures.get('User') {
return this.edit({ avatar: await DataResolver.resolveImage(avatar) });
}

/**
* Options for setting activities
* @typedef {Object} ActivitiesOptions
* @property {string} [name] Name of the activity
* @property {ActivityType|number} [type] Type of the activity
* @property {string} [url] Twitch / YouTube stream URL
*/

/**
* Data resembling a raw Discord presence.
* @typedef {Object} PresenceData
* @property {PresenceStatusData} [status] Status of the user
* @property {boolean} [afk] Whether the user is AFK
* @property {Object} [activity] Activity the user is playing
* @property {string} [activity.name] Name of the activity
* @property {ActivityType|number} [activity.type] Type of the activity
* @property {string} [activity.url] Twitch / YouTube stream URL
* @property {ActivitiesOptions[]} [activities] Activity the user is playing
* @property {?number|number[]} [shardID] Shard Id(s) to have the activity set on
*/

Expand All @@ -108,7 +113,7 @@ class ClientUser extends Structures.get('User') {
* @returns {Presence}
* @example
* // Set the client user's presence
* client.user.setPresence({ activity: { name: 'with discord.js' }, status: 'idle' });
* client.user.setPresence({ activities: [{ name: 'with discord.js' }], status: 'idle' });
*/
setPresence(data) {
return this.client.presence.set(data);
Expand Down Expand Up @@ -140,6 +145,7 @@ class ClientUser extends Structures.get('User') {
* Options for setting an activity.
* @typedef ActivityOptions
* @type {Object}
* @property {string} [name] Name of the activity
* @property {string} [url] Twitch / YouTube stream URL
* @property {ActivityType|number} [type] Type of the activity
* @property {number|number[]} [shardID] Shard Id(s) to have the activity set on
Expand Down
8 changes: 3 additions & 5 deletions typings/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2189,6 +2189,8 @@ declare module 'discord.js' {

type ActivityFlagsString = 'INSTANCE' | 'JOIN' | 'SPECTATE' | 'JOIN_REQUEST' | 'SYNC' | 'PLAY';

type ActivitiesOptions = Omit<ActivityOptions, 'shardID'>;

interface ActivityOptions {
name?: string;
url?: string;
Expand Down Expand Up @@ -3152,11 +3154,7 @@ declare module 'discord.js' {
interface PresenceData {
status?: PresenceStatusData;
afk?: boolean;
activity?: {
name?: string;
type?: ActivityType | number;
url?: string;
};
activities?: ActivitiesOptions[];
shardID?: number | number[];
}

Expand Down

0 comments on commit eb43ce4

Please sign in to comment.