From f99f07f72e95a9537a955eb942b52e345c1067d6 Mon Sep 17 00:00:00 2001 From: Advaith Date: Tue, 20 Jul 2021 04:04:09 -0700 Subject: [PATCH] feat(Interactions): add interaction response and followup route (#162) --- deno/rest/v8/interactions.ts | 90 ++++++++++++++++++++++++++++++++++++ deno/rest/v8/webhook.ts | 10 ++-- deno/rest/v9/interactions.ts | 90 ++++++++++++++++++++++++++++++++++++ deno/rest/v9/webhook.ts | 10 ++-- rest/v8/interactions.ts | 90 ++++++++++++++++++++++++++++++++++++ rest/v8/webhook.ts | 10 ++-- rest/v9/interactions.ts | 90 ++++++++++++++++++++++++++++++++++++ rest/v9/webhook.ts | 10 ++-- 8 files changed, 380 insertions(+), 20 deletions(-) diff --git a/deno/rest/v8/interactions.ts b/deno/rest/v8/interactions.ts index e4cdbd29..4a800979 100644 --- a/deno/rest/v8/interactions.ts +++ b/deno/rest/v8/interactions.ts @@ -3,7 +3,16 @@ import type { APIApplicationCommandPermission, APIGuildApplicationCommandPermissions, APIInteractionResponse, + APIInteractionResponseCallbackData, } from '../../payloads/v8/mod.ts'; +import type { + RESTDeleteAPIWebhookWithTokenMessageResult, + RESTGetAPIWebhookWithTokenMessageResult, + RESTPatchAPIWebhookWithTokenMessageFormDataBody, + RESTPatchAPIWebhookWithTokenMessageJSONBody, + RESTPatchAPIWebhookWithTokenMessageResult, + RESTPostAPIWebhookWithTokenWaitResult, +} from './webhook.ts'; /** * https://discord.com/developers/docs/interactions/slash-commands#get-global-application-commands @@ -111,6 +120,87 @@ export type RESTPostAPIInteractionCallbackFormDataBody = file: unknown; }); +/** + * https://discord.com/developers/docs/interactions/slash-commands#get-original-interaction-response + */ +export type RESTGetAPIInteractionOriginalResponseResult = RESTGetAPIWebhookWithTokenMessageResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-original-interaction-response + */ +export type RESTPatchAPIInteractionOriginalResponseJSONBody = RESTPatchAPIWebhookWithTokenMessageJSONBody; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-original-interaction-response + */ +export type RESTPatchAPIInteractionOriginalResponseFormDataBody = RESTPatchAPIWebhookWithTokenMessageFormDataBody; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-original-interaction-response + */ +export type RESTPatchAPIInteractionOriginalResponseResult = RESTPatchAPIWebhookWithTokenMessageResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#delete-original-interaction-response + */ +export type RESTDeleteAPIInteractionOriginalResponseResult = RESTDeleteAPIWebhookWithTokenMessageResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#create-followup-message + */ +export type RESTPostAPIInteractionFollowupJSONBody = APIInteractionResponseCallbackData; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#create-followup-message + */ +export type RESTPostAPIInteractionFollowupFormDataBody = + | { + /** + * JSON stringified message body + */ + payload_json?: string; + /** + * The file contents + */ + file: unknown; + } + | (RESTPostAPIInteractionFollowupJSONBody & { + /** + * The file contents + */ + file: unknown; + }); + +/** + * https://discord.com/developers/docs/interactions/slash-commands#create-followup-message + */ +export type RESTPostAPIInteractionFollowupResult = RESTPostAPIWebhookWithTokenWaitResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#get-followup-message + */ +export type RESTGetAPIInteractionFollowupResult = RESTGetAPIWebhookWithTokenMessageResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-followup-message + */ +export type RESTPatchAPIInteractionFollowupJSONBody = RESTPatchAPIWebhookWithTokenMessageJSONBody; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-followup-message + */ +export type RESTPatchAPIInteractionFollowupFormDataBody = RESTPatchAPIWebhookWithTokenMessageFormDataBody; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-followup-message + */ +export type RESTPatchAPIInteractionFollowupResult = RESTPatchAPIWebhookWithTokenMessageResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#delete-followup-message + */ +export type RESTDeleteAPIInteractionFollowupResult = RESTDeleteAPIWebhookWithTokenMessageResult; + /** * https://discord.com/developers/docs/interactions/slash-commands#get-guild-application-command-permissions */ diff --git a/deno/rest/v8/webhook.ts b/deno/rest/v8/webhook.ts index 6c87c7df..a80c2ca2 100644 --- a/deno/rest/v8/webhook.ts +++ b/deno/rest/v8/webhook.ts @@ -220,6 +220,11 @@ export type RESTPostAPIWebhookWithTokenGitHubResult = never; */ export type RESTPostAPIWebhookWithTokenGitHubWaitResult = APIMessage; +/** + * https://discord.com/developers/docs/resources/webhook#get-webhook-message + */ +export type RESTGetAPIWebhookWithTokenMessageResult = APIMessage; + /** * https://discord.com/developers/docs/resources/webhook#edit-webhook-message */ @@ -256,11 +261,6 @@ export type RESTPatchAPIWebhookWithTokenMessageFormDataBody = file: unknown; }); -/** - * https://discord.com/developers/docs/resources/webhook#get-webhook-message - */ -export type RESTGetAPIWebhookWithTokenMessageResult = APIMessage; - /** * https://discord.com/developers/docs/resources/webhook#edit-webhook-message */ diff --git a/deno/rest/v9/interactions.ts b/deno/rest/v9/interactions.ts index 1989879b..3bbd325e 100644 --- a/deno/rest/v9/interactions.ts +++ b/deno/rest/v9/interactions.ts @@ -3,7 +3,16 @@ import type { APIApplicationCommandPermission, APIGuildApplicationCommandPermissions, APIInteractionResponse, + APIInteractionResponseCallbackData, } from '../../payloads/v9/mod.ts'; +import type { + RESTDeleteAPIWebhookWithTokenMessageResult, + RESTGetAPIWebhookWithTokenMessageResult, + RESTPatchAPIWebhookWithTokenMessageFormDataBody, + RESTPatchAPIWebhookWithTokenMessageJSONBody, + RESTPatchAPIWebhookWithTokenMessageResult, + RESTPostAPIWebhookWithTokenWaitResult, +} from './webhook.ts'; /** * https://discord.com/developers/docs/interactions/slash-commands#get-global-application-commands @@ -111,6 +120,87 @@ export type RESTPostAPIInteractionCallbackFormDataBody = file: unknown; }); +/** + * https://discord.com/developers/docs/interactions/slash-commands#get-original-interaction-response + */ +export type RESTGetAPIInteractionOriginalResponseResult = RESTGetAPIWebhookWithTokenMessageResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-original-interaction-response + */ +export type RESTPatchAPIInteractionOriginalResponseJSONBody = RESTPatchAPIWebhookWithTokenMessageJSONBody; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-original-interaction-response + */ +export type RESTPatchAPIInteractionOriginalResponseFormDataBody = RESTPatchAPIWebhookWithTokenMessageFormDataBody; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-original-interaction-response + */ +export type RESTPatchAPIInteractionOriginalResponseResult = RESTPatchAPIWebhookWithTokenMessageResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#delete-original-interaction-response + */ +export type RESTDeleteAPIInteractionOriginalResponseResult = RESTDeleteAPIWebhookWithTokenMessageResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#create-followup-message + */ +export type RESTPostAPIInteractionFollowupJSONBody = APIInteractionResponseCallbackData; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#create-followup-message + */ +export type RESTPostAPIInteractionFollowupFormDataBody = + | { + /** + * JSON stringified message body + */ + payload_json?: string; + /** + * The file contents + */ + file: unknown; + } + | (RESTPostAPIInteractionFollowupJSONBody & { + /** + * The file contents + */ + file: unknown; + }); + +/** + * https://discord.com/developers/docs/interactions/slash-commands#create-followup-message + */ +export type RESTPostAPIInteractionFollowupResult = RESTPostAPIWebhookWithTokenWaitResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#get-followup-message + */ +export type RESTGetAPIInteractionFollowupResult = RESTGetAPIWebhookWithTokenMessageResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-followup-message + */ +export type RESTPatchAPIInteractionFollowupJSONBody = RESTPatchAPIWebhookWithTokenMessageJSONBody; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-followup-message + */ +export type RESTPatchAPIInteractionFollowupFormDataBody = RESTPatchAPIWebhookWithTokenMessageFormDataBody; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-followup-message + */ +export type RESTPatchAPIInteractionFollowupResult = RESTPatchAPIWebhookWithTokenMessageResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#delete-followup-message + */ +export type RESTDeleteAPIInteractionFollowupResult = RESTDeleteAPIWebhookWithTokenMessageResult; + /** * https://discord.com/developers/docs/interactions/slash-commands#get-guild-application-command-permissions */ diff --git a/deno/rest/v9/webhook.ts b/deno/rest/v9/webhook.ts index cabecc7c..a59bde31 100644 --- a/deno/rest/v9/webhook.ts +++ b/deno/rest/v9/webhook.ts @@ -224,6 +224,11 @@ export type RESTPostAPIWebhookWithTokenGitHubResult = never; */ export type RESTPostAPIWebhookWithTokenGitHubWaitResult = APIMessage; +/** + * https://discord.com/developers/docs/resources/webhook#get-webhook-message + */ +export type RESTGetAPIWebhookWithTokenMessageResult = APIMessage; + /** * https://discord.com/developers/docs/resources/webhook#edit-webhook-message */ @@ -260,11 +265,6 @@ export type RESTPatchAPIWebhookWithTokenMessageFormDataBody = file: unknown; }); -/** - * https://discord.com/developers/docs/resources/webhook#get-webhook-message - */ -export type RESTGetAPIWebhookWithTokenMessageResult = APIMessage; - /** * https://discord.com/developers/docs/resources/webhook#edit-webhook-message */ diff --git a/rest/v8/interactions.ts b/rest/v8/interactions.ts index bd342f59..c28a87e8 100644 --- a/rest/v8/interactions.ts +++ b/rest/v8/interactions.ts @@ -3,7 +3,16 @@ import type { APIApplicationCommandPermission, APIGuildApplicationCommandPermissions, APIInteractionResponse, + APIInteractionResponseCallbackData, } from '../../payloads/v8/index'; +import type { + RESTDeleteAPIWebhookWithTokenMessageResult, + RESTGetAPIWebhookWithTokenMessageResult, + RESTPatchAPIWebhookWithTokenMessageFormDataBody, + RESTPatchAPIWebhookWithTokenMessageJSONBody, + RESTPatchAPIWebhookWithTokenMessageResult, + RESTPostAPIWebhookWithTokenWaitResult, +} from './webhook'; /** * https://discord.com/developers/docs/interactions/slash-commands#get-global-application-commands @@ -111,6 +120,87 @@ export type RESTPostAPIInteractionCallbackFormDataBody = file: unknown; }); +/** + * https://discord.com/developers/docs/interactions/slash-commands#get-original-interaction-response + */ +export type RESTGetAPIInteractionOriginalResponseResult = RESTGetAPIWebhookWithTokenMessageResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-original-interaction-response + */ +export type RESTPatchAPIInteractionOriginalResponseJSONBody = RESTPatchAPIWebhookWithTokenMessageJSONBody; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-original-interaction-response + */ +export type RESTPatchAPIInteractionOriginalResponseFormDataBody = RESTPatchAPIWebhookWithTokenMessageFormDataBody; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-original-interaction-response + */ +export type RESTPatchAPIInteractionOriginalResponseResult = RESTPatchAPIWebhookWithTokenMessageResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#delete-original-interaction-response + */ +export type RESTDeleteAPIInteractionOriginalResponseResult = RESTDeleteAPIWebhookWithTokenMessageResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#create-followup-message + */ +export type RESTPostAPIInteractionFollowupJSONBody = APIInteractionResponseCallbackData; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#create-followup-message + */ +export type RESTPostAPIInteractionFollowupFormDataBody = + | { + /** + * JSON stringified message body + */ + payload_json?: string; + /** + * The file contents + */ + file: unknown; + } + | (RESTPostAPIInteractionFollowupJSONBody & { + /** + * The file contents + */ + file: unknown; + }); + +/** + * https://discord.com/developers/docs/interactions/slash-commands#create-followup-message + */ +export type RESTPostAPIInteractionFollowupResult = RESTPostAPIWebhookWithTokenWaitResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#get-followup-message + */ +export type RESTGetAPIInteractionFollowupResult = RESTGetAPIWebhookWithTokenMessageResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-followup-message + */ +export type RESTPatchAPIInteractionFollowupJSONBody = RESTPatchAPIWebhookWithTokenMessageJSONBody; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-followup-message + */ +export type RESTPatchAPIInteractionFollowupFormDataBody = RESTPatchAPIWebhookWithTokenMessageFormDataBody; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-followup-message + */ +export type RESTPatchAPIInteractionFollowupResult = RESTPatchAPIWebhookWithTokenMessageResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#delete-followup-message + */ +export type RESTDeleteAPIInteractionFollowupResult = RESTDeleteAPIWebhookWithTokenMessageResult; + /** * https://discord.com/developers/docs/interactions/slash-commands#get-guild-application-command-permissions */ diff --git a/rest/v8/webhook.ts b/rest/v8/webhook.ts index d8741be6..4edfe4cc 100644 --- a/rest/v8/webhook.ts +++ b/rest/v8/webhook.ts @@ -220,6 +220,11 @@ export type RESTPostAPIWebhookWithTokenGitHubResult = never; */ export type RESTPostAPIWebhookWithTokenGitHubWaitResult = APIMessage; +/** + * https://discord.com/developers/docs/resources/webhook#get-webhook-message + */ +export type RESTGetAPIWebhookWithTokenMessageResult = APIMessage; + /** * https://discord.com/developers/docs/resources/webhook#edit-webhook-message */ @@ -256,11 +261,6 @@ export type RESTPatchAPIWebhookWithTokenMessageFormDataBody = file: unknown; }); -/** - * https://discord.com/developers/docs/resources/webhook#get-webhook-message - */ -export type RESTGetAPIWebhookWithTokenMessageResult = APIMessage; - /** * https://discord.com/developers/docs/resources/webhook#edit-webhook-message */ diff --git a/rest/v9/interactions.ts b/rest/v9/interactions.ts index 943d7b55..80260f11 100644 --- a/rest/v9/interactions.ts +++ b/rest/v9/interactions.ts @@ -3,7 +3,16 @@ import type { APIApplicationCommandPermission, APIGuildApplicationCommandPermissions, APIInteractionResponse, + APIInteractionResponseCallbackData, } from '../../payloads/v9/index'; +import type { + RESTDeleteAPIWebhookWithTokenMessageResult, + RESTGetAPIWebhookWithTokenMessageResult, + RESTPatchAPIWebhookWithTokenMessageFormDataBody, + RESTPatchAPIWebhookWithTokenMessageJSONBody, + RESTPatchAPIWebhookWithTokenMessageResult, + RESTPostAPIWebhookWithTokenWaitResult, +} from './webhook'; /** * https://discord.com/developers/docs/interactions/slash-commands#get-global-application-commands @@ -111,6 +120,87 @@ export type RESTPostAPIInteractionCallbackFormDataBody = file: unknown; }); +/** + * https://discord.com/developers/docs/interactions/slash-commands#get-original-interaction-response + */ +export type RESTGetAPIInteractionOriginalResponseResult = RESTGetAPIWebhookWithTokenMessageResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-original-interaction-response + */ +export type RESTPatchAPIInteractionOriginalResponseJSONBody = RESTPatchAPIWebhookWithTokenMessageJSONBody; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-original-interaction-response + */ +export type RESTPatchAPIInteractionOriginalResponseFormDataBody = RESTPatchAPIWebhookWithTokenMessageFormDataBody; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-original-interaction-response + */ +export type RESTPatchAPIInteractionOriginalResponseResult = RESTPatchAPIWebhookWithTokenMessageResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#delete-original-interaction-response + */ +export type RESTDeleteAPIInteractionOriginalResponseResult = RESTDeleteAPIWebhookWithTokenMessageResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#create-followup-message + */ +export type RESTPostAPIInteractionFollowupJSONBody = APIInteractionResponseCallbackData; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#create-followup-message + */ +export type RESTPostAPIInteractionFollowupFormDataBody = + | { + /** + * JSON stringified message body + */ + payload_json?: string; + /** + * The file contents + */ + file: unknown; + } + | (RESTPostAPIInteractionFollowupJSONBody & { + /** + * The file contents + */ + file: unknown; + }); + +/** + * https://discord.com/developers/docs/interactions/slash-commands#create-followup-message + */ +export type RESTPostAPIInteractionFollowupResult = RESTPostAPIWebhookWithTokenWaitResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#get-followup-message + */ +export type RESTGetAPIInteractionFollowupResult = RESTGetAPIWebhookWithTokenMessageResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-followup-message + */ +export type RESTPatchAPIInteractionFollowupJSONBody = RESTPatchAPIWebhookWithTokenMessageJSONBody; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-followup-message + */ +export type RESTPatchAPIInteractionFollowupFormDataBody = RESTPatchAPIWebhookWithTokenMessageFormDataBody; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#edit-followup-message + */ +export type RESTPatchAPIInteractionFollowupResult = RESTPatchAPIWebhookWithTokenMessageResult; + +/** + * https://discord.com/developers/docs/interactions/slash-commands#delete-followup-message + */ +export type RESTDeleteAPIInteractionFollowupResult = RESTDeleteAPIWebhookWithTokenMessageResult; + /** * https://discord.com/developers/docs/interactions/slash-commands#get-guild-application-command-permissions */ diff --git a/rest/v9/webhook.ts b/rest/v9/webhook.ts index 3c5187af..ff81e7ef 100644 --- a/rest/v9/webhook.ts +++ b/rest/v9/webhook.ts @@ -224,6 +224,11 @@ export type RESTPostAPIWebhookWithTokenGitHubResult = never; */ export type RESTPostAPIWebhookWithTokenGitHubWaitResult = APIMessage; +/** + * https://discord.com/developers/docs/resources/webhook#get-webhook-message + */ +export type RESTGetAPIWebhookWithTokenMessageResult = APIMessage; + /** * https://discord.com/developers/docs/resources/webhook#edit-webhook-message */ @@ -260,11 +265,6 @@ export type RESTPatchAPIWebhookWithTokenMessageFormDataBody = file: unknown; }); -/** - * https://discord.com/developers/docs/resources/webhook#get-webhook-message - */ -export type RESTGetAPIWebhookWithTokenMessageResult = APIMessage; - /** * https://discord.com/developers/docs/resources/webhook#edit-webhook-message */