mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
feat(interactions): add launchActivity method (#10646)
* feat(interactions): add launchActivity method * chore: suggestion Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com> * chore: suggestion Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com> * fix: overload and add tests * chore: wording * chore: wording * chore: spacing --------- Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com> Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
This commit is contained in:
@@ -528,7 +528,7 @@ export class InteractionsAPI {
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a premium required response to an interaction
|
||||
* Launches an activity and returns an interaction callback object
|
||||
*
|
||||
* @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#create-interaction-response}
|
||||
* @param interactionId - The id of the interaction
|
||||
@@ -549,4 +549,70 @@ export class InteractionsAPI {
|
||||
signal,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Launches an activity and returns an interaction callback object
|
||||
*
|
||||
* @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#create-interaction-response}
|
||||
* @param interactionId - The id of the interaction
|
||||
* @param interactionToken - The token of the interaction
|
||||
* @param body - The callback data for launching the activity
|
||||
* @param options - The options for launching the activity
|
||||
*/
|
||||
public async launchActivity(
|
||||
interactionId: Snowflake,
|
||||
interactionToken: string,
|
||||
body: RESTPostAPIInteractionCallbackQuery & { with_response: true },
|
||||
options?: Pick<RequestData, 'signal'>,
|
||||
): Promise<RESTPostAPIInteractionCallbackWithResponseResult>;
|
||||
|
||||
/**
|
||||
* Launches an activity
|
||||
*
|
||||
* @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#create-interaction-response}
|
||||
* @param interactionId - The id of the interaction
|
||||
* @param interactionToken - The token of the interaction
|
||||
* @param body - The callback data for launching the activity
|
||||
* @param options - The options for launching the activity
|
||||
*/
|
||||
public async launchActivity(
|
||||
interactionId: Snowflake,
|
||||
interactionToken: string,
|
||||
body?: RESTPostAPIInteractionCallbackQuery & { with_response?: false },
|
||||
options?: Pick<RequestData, 'signal'>,
|
||||
): Promise<undefined>;
|
||||
|
||||
/**
|
||||
* Launches an activity
|
||||
*
|
||||
* @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#create-interaction-response}
|
||||
* @param interactionId - The id of the interaction
|
||||
* @param interactionToken - The token of the interaction
|
||||
* @param body - The callback data for launching the activity
|
||||
* @param options - The options for launching the activity
|
||||
*/
|
||||
public async launchActivity(
|
||||
interactionId: Snowflake,
|
||||
interactionToken: string,
|
||||
body?: RESTPostAPIInteractionCallbackQuery,
|
||||
options?: Pick<RequestData, 'signal'>,
|
||||
): Promise<RESTPostAPIInteractionCallbackWithResponseResult | undefined>;
|
||||
|
||||
public async launchActivity(
|
||||
interactionId: Snowflake,
|
||||
interactionToken: string,
|
||||
{ with_response }: RESTPostAPIInteractionCallbackQuery = {},
|
||||
{ signal }: Pick<RequestData, 'signal'> = {},
|
||||
) {
|
||||
const response = await this.rest.post(Routes.interactionCallback(interactionId, interactionToken), {
|
||||
query: makeURLSearchParams({ with_response }),
|
||||
auth: false,
|
||||
body: {
|
||||
type: InteractionResponseType.LaunchActivity,
|
||||
},
|
||||
signal,
|
||||
});
|
||||
|
||||
return with_response ? response : undefined;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user