feat(Application): add activity instance types and endpoint (#1578)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Almeida
2026-03-20 10:16:08 +00:00
committed by GitHub
parent 25778aeee9
commit b985362252
12 changed files with 320 additions and 4 deletions

View File

@@ -317,6 +317,68 @@ export enum ApplicationRoleConnectionMetadataType {
BooleanNotEqual,
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance-activity-location-kind-enum}
*/
export enum ActivityLocationKind {
/**
* Location is a guild channel
*/
GuildChannel = 'gc',
/**
* Location is a private channel, such as a DM or GDM
*/
PrivateChannel = 'pc',
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance-activity-location-object}
*/
export interface APIActivityLocation {
/**
* Unique identifier for the location
*/
id: string;
/**
* Enum describing kind of location
*/
kind: ActivityLocationKind;
/**
* ID of the channel
*/
channel_id: Snowflake;
/**
* ID of the guild
*/
guild_id?: Snowflake | null;
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance-activity-instance-object}
*/
export interface APIActivityInstance {
/**
* Application ID
*/
application_id: Snowflake;
/**
* Activity instance ID
*/
instance_id: string;
/**
* Unique identifier for the launch
*/
launch_id: Snowflake;
/**
* Location the instance is running in
*/
location: APIActivityLocation;
/**
* IDs of the users currently connected to the instance
*/
users: Snowflake[];
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#application-object-application-event-webhook-status}
*/

View File

@@ -317,6 +317,68 @@ export enum ApplicationRoleConnectionMetadataType {
BooleanNotEqual,
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance-activity-location-kind-enum}
*/
export enum ActivityLocationKind {
/**
* Location is a guild channel
*/
GuildChannel = 'gc',
/**
* Location is a private channel, such as a DM or GDM
*/
PrivateChannel = 'pc',
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance-activity-location-object}
*/
export interface APIActivityLocation {
/**
* Unique identifier for the location
*/
id: string;
/**
* Enum describing kind of location
*/
kind: ActivityLocationKind;
/**
* ID of the channel
*/
channel_id: Snowflake;
/**
* ID of the guild
*/
guild_id?: Snowflake | null;
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance-activity-instance-object}
*/
export interface APIActivityInstance {
/**
* Application ID
*/
application_id: Snowflake;
/**
* Activity instance ID
*/
instance_id: string;
/**
* Unique identifier for the launch
*/
launch_id: Snowflake;
/**
* Location the instance is running in
*/
location: APIActivityLocation;
/**
* IDs of the users currently connected to the instance
*/
users: Snowflake[];
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#application-object-application-event-webhook-status}
*/

View File

@@ -1,4 +1,8 @@
import type { APIApplication, APIApplicationRoleConnectionMetadata } from '../../payloads/v10/application.ts';
import type {
APIActivityInstance,
APIApplication,
APIApplicationRoleConnectionMetadata,
} from '../../payloads/v10/application.ts';
import type { _Nullable, _StrictPartial } from '../../utils/internals.ts';
/**
@@ -45,3 +49,8 @@ export type RESTPatchCurrentApplicationJSONBody = _StrictPartial<
* @see {@link https://discord.com/developers/docs/resources/application#edit-current-application}
*/
export type RESTPatchCurrentApplicationResult = APIApplication;
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance}
*/
export type RESTGetAPIApplicationActivityInstanceResult = APIActivityInstance;

8
deno/rest/v10/mod.ts generated
View File

@@ -985,6 +985,14 @@ export const Routes = {
return '/applications/@me' as const;
},
/**
* Route for:
* - GET `/applications/{application.id}/activity-instances/{instance_id}`
*/
applicationActivityInstance(applicationId: Snowflake, instanceId: string) {
return `/applications/${applicationId}/activity-instances/${instanceId}` as const;
},
/**
* Route for:
* - GET `/applications/{application.id}/entitlements`

View File

@@ -1,4 +1,8 @@
import type { APIApplication, APIApplicationRoleConnectionMetadata } from '../../payloads/v9/application.ts';
import type {
APIActivityInstance,
APIApplication,
APIApplicationRoleConnectionMetadata,
} from '../../payloads/v9/application.ts';
import type { _StrictPartial, _Nullable } from '../../utils/internals.ts';
/**
@@ -45,3 +49,8 @@ export type RESTPatchCurrentApplicationJSONBody = _StrictPartial<
* @see {@link https://discord.com/developers/docs/resources/application#edit-current-application}
*/
export type RESTPatchCurrentApplicationResult = APIApplication;
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance}
*/
export type RESTGetAPIApplicationActivityInstanceResult = APIActivityInstance;

8
deno/rest/v9/mod.ts generated
View File

@@ -994,6 +994,14 @@ export const Routes = {
return '/applications/@me' as const;
},
/**
* Route for:
* - GET `/applications/{application.id}/activity-instances/{instance_id}`
*/
applicationActivityInstance(applicationId: Snowflake, instanceId: string) {
return `/applications/${applicationId}/activity-instances/${instanceId}` as const;
},
/**
* Route for:
* - GET `/applications/{application.id}/entitlements`

View File

@@ -317,6 +317,68 @@ export enum ApplicationRoleConnectionMetadataType {
BooleanNotEqual,
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance-activity-location-kind-enum}
*/
export enum ActivityLocationKind {
/**
* Location is a guild channel
*/
GuildChannel = 'gc',
/**
* Location is a private channel, such as a DM or GDM
*/
PrivateChannel = 'pc',
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance-activity-location-object}
*/
export interface APIActivityLocation {
/**
* Unique identifier for the location
*/
id: string;
/**
* Enum describing kind of location
*/
kind: ActivityLocationKind;
/**
* ID of the channel
*/
channel_id: Snowflake;
/**
* ID of the guild
*/
guild_id?: Snowflake | null;
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance-activity-instance-object}
*/
export interface APIActivityInstance {
/**
* Application ID
*/
application_id: Snowflake;
/**
* Activity instance ID
*/
instance_id: string;
/**
* Unique identifier for the launch
*/
launch_id: Snowflake;
/**
* Location the instance is running in
*/
location: APIActivityLocation;
/**
* IDs of the users currently connected to the instance
*/
users: Snowflake[];
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#application-object-application-event-webhook-status}
*/

View File

@@ -317,6 +317,68 @@ export enum ApplicationRoleConnectionMetadataType {
BooleanNotEqual,
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance-activity-location-kind-enum}
*/
export enum ActivityLocationKind {
/**
* Location is a guild channel
*/
GuildChannel = 'gc',
/**
* Location is a private channel, such as a DM or GDM
*/
PrivateChannel = 'pc',
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance-activity-location-object}
*/
export interface APIActivityLocation {
/**
* Unique identifier for the location
*/
id: string;
/**
* Enum describing kind of location
*/
kind: ActivityLocationKind;
/**
* ID of the channel
*/
channel_id: Snowflake;
/**
* ID of the guild
*/
guild_id?: Snowflake | null;
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance-activity-instance-object}
*/
export interface APIActivityInstance {
/**
* Application ID
*/
application_id: Snowflake;
/**
* Activity instance ID
*/
instance_id: string;
/**
* Unique identifier for the launch
*/
launch_id: Snowflake;
/**
* Location the instance is running in
*/
location: APIActivityLocation;
/**
* IDs of the users currently connected to the instance
*/
users: Snowflake[];
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#application-object-application-event-webhook-status}
*/

View File

@@ -1,4 +1,8 @@
import type { APIApplication, APIApplicationRoleConnectionMetadata } from '../../payloads/v10/application';
import type {
APIActivityInstance,
APIApplication,
APIApplicationRoleConnectionMetadata,
} from '../../payloads/v10/application';
import type { _Nullable, _StrictPartial } from '../../utils/internals';
/**
@@ -45,3 +49,8 @@ export type RESTPatchCurrentApplicationJSONBody = _StrictPartial<
* @see {@link https://discord.com/developers/docs/resources/application#edit-current-application}
*/
export type RESTPatchCurrentApplicationResult = APIApplication;
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance}
*/
export type RESTGetAPIApplicationActivityInstanceResult = APIActivityInstance;

View File

@@ -985,6 +985,14 @@ export const Routes = {
return '/applications/@me' as const;
},
/**
* Route for:
* - GET `/applications/{application.id}/activity-instances/{instance_id}`
*/
applicationActivityInstance(applicationId: Snowflake, instanceId: string) {
return `/applications/${applicationId}/activity-instances/${instanceId}` as const;
},
/**
* Route for:
* - GET `/applications/{application.id}/entitlements`

View File

@@ -1,4 +1,8 @@
import type { APIApplication, APIApplicationRoleConnectionMetadata } from '../../payloads/v9/application';
import type {
APIActivityInstance,
APIApplication,
APIApplicationRoleConnectionMetadata,
} from '../../payloads/v9/application';
import type { _StrictPartial, _Nullable } from '../../utils/internals';
/**
@@ -45,3 +49,8 @@ export type RESTPatchCurrentApplicationJSONBody = _StrictPartial<
* @see {@link https://discord.com/developers/docs/resources/application#edit-current-application}
*/
export type RESTPatchCurrentApplicationResult = APIApplication;
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance}
*/
export type RESTGetAPIApplicationActivityInstanceResult = APIActivityInstance;

View File

@@ -994,6 +994,14 @@ export const Routes = {
return '/applications/@me' as const;
},
/**
* Route for:
* - GET `/applications/{application.id}/activity-instances/{instance_id}`
*/
applicationActivityInstance(applicationId: Snowflake, instanceId: string) {
return `/applications/${applicationId}/activity-instances/${instanceId}` as const;
},
/**
* Route for:
* - GET `/applications/{application.id}/entitlements`