diff --git a/.changeset/slackbot-skills-library-remove.md b/.changeset/slackbot-skills-library-remove.md new file mode 100644 index 000000000..157b36d97 --- /dev/null +++ b/.changeset/slackbot-skills-library-remove.md @@ -0,0 +1,5 @@ +--- +"@slack/web-api": minor +--- + +feat(web-api): add [`slackbot.skills.library.remove`](https://docs.slack.dev/reference/methods/slackbot.skills.library.remove) method diff --git a/packages/web-api/src/methods.ts b/packages/web-api/src/methods.ts index 4b5a35ee4..bd8c9919e 100644 --- a/packages/web-api/src/methods.ts +++ b/packages/web-api/src/methods.ts @@ -237,6 +237,7 @@ import type { SlackbotSkillsCreateArguments, SlackbotSkillsInfoArguments, SlackbotSkillsLibraryAddArguments, + SlackbotSkillsLibraryRemoveArguments, SlackbotSkillsListArguments, SlackbotSkillsUpdateArguments, SlackListsAccessDeleteArguments, @@ -526,6 +527,7 @@ import type { SlackbotSkillsCreateResponse, SlackbotSkillsInfoResponse, SlackbotSkillsLibraryAddResponse, + SlackbotSkillsLibraryRemoveResponse, SlackbotSkillsListResponse, SlackbotSkillsUpdateResponse, SlackListsAccessDeleteResponse, @@ -2381,6 +2383,14 @@ export abstract class Methods extends EventEmitter { this, 'slackbot.skills.library.add', ), + /** + * @description Turns a skill off in the caller's Slackbot library. + * @see {@link https://docs.slack.dev/reference/methods/slackbot.skills.library.remove `slackbot.skills.library.remove` API reference}. + */ + remove: bindApiCall( + this, + 'slackbot.skills.library.remove', + ), }, /** * @description Lists Slackbot skills from the caller's point of view. Instructions are not included. diff --git a/packages/web-api/src/types/request/index.ts b/packages/web-api/src/types/request/index.ts index a5255bd44..9a56d7330 100644 --- a/packages/web-api/src/types/request/index.ts +++ b/packages/web-api/src/types/request/index.ts @@ -295,6 +295,7 @@ export type { SlackbotSkillsCreateArguments, SlackbotSkillsInfoArguments, SlackbotSkillsLibraryAddArguments, + SlackbotSkillsLibraryRemoveArguments, SlackbotSkillsListArguments, SlackbotSkillsUpdateArguments, } from './slackbot'; diff --git a/packages/web-api/src/types/request/slackbot.ts b/packages/web-api/src/types/request/slackbot.ts index 1eb280690..756a8bced 100644 --- a/packages/web-api/src/types/request/slackbot.ts +++ b/packages/web-api/src/types/request/slackbot.ts @@ -50,6 +50,12 @@ export interface SlackbotSkillsLibraryAddArguments extends TokenOverridable { skill_id: string; } +// https://docs.slack.dev/reference/methods/slackbot.skills.library.remove +export interface SlackbotSkillsLibraryRemoveArguments extends TokenOverridable { + /** @description Skill to turn off for the caller. */ + skill_id: string; +} + // https://docs.slack.dev/reference/methods/slackbot.skills.list export type SlackbotSkillsListArguments = OptionalArgument< TokenOverridable & { diff --git a/packages/web-api/src/types/response/SlackbotSkillsLibraryRemoveResponse.ts b/packages/web-api/src/types/response/SlackbotSkillsLibraryRemoveResponse.ts new file mode 100644 index 000000000..6f53aff8d --- /dev/null +++ b/packages/web-api/src/types/response/SlackbotSkillsLibraryRemoveResponse.ts @@ -0,0 +1,22 @@ +///////////////////////////////////////////////////////////////////////////////////////// +// // +// !!! DO NOT EDIT THIS FILE !!! // +// // +// This file is auto-generated by scripts/generate-web-api-types.sh in the repository. // +// Please refer to the script code to learn how to update the source data. // +// // +///////////////////////////////////////////////////////////////////////////////////////// + +import type { WebAPICallResult } from '../../WebClient'; +export type SlackbotSkillsLibraryRemoveResponse = WebAPICallResult & { + error?: string; + needed?: string; + ok?: boolean; + provided?: string; + response_metadata?: ResponseMetadata; + warning?: string; +}; + +export interface ResponseMetadata { + messages?: string[]; +} diff --git a/packages/web-api/src/types/response/index.ts b/packages/web-api/src/types/response/index.ts index 94d4ec718..135e01682 100644 --- a/packages/web-api/src/types/response/index.ts +++ b/packages/web-api/src/types/response/index.ts @@ -295,6 +295,7 @@ export { SearchMessagesResponse } from './SearchMessagesResponse'; export { SlackbotSkillsCreateResponse } from './SlackbotSkillsCreateResponse'; export { SlackbotSkillsInfoResponse } from './SlackbotSkillsInfoResponse'; export { SlackbotSkillsLibraryAddResponse } from './SlackbotSkillsLibraryAddResponse'; +export { SlackbotSkillsLibraryRemoveResponse } from './SlackbotSkillsLibraryRemoveResponse'; export { SlackbotSkillsListResponse } from './SlackbotSkillsListResponse'; export { SlackbotSkillsUpdateResponse } from './SlackbotSkillsUpdateResponse'; export { SlackListsAccessDeleteResponse } from './SlackListsAccessDeleteResponse'; diff --git a/packages/web-api/test/types/methods/slackbot.test-d.ts b/packages/web-api/test/types/methods/slackbot.test-d.ts index d66a0dbbe..2e13a2ab6 100644 --- a/packages/web-api/test/types/methods/slackbot.test-d.ts +++ b/packages/web-api/test/types/methods/slackbot.test-d.ts @@ -84,6 +84,17 @@ expectAssignable>([ }, ]); +// slackbot.skills.library.remove +// -- sad path +expectError(web.slackbot.skills.library.remove()); // lacking argument +expectError(web.slackbot.skills.library.remove({})); // empty argument +// -- happy path +expectAssignable>([ + { + skill_id: 'F1234', + }, +]); + // slackbot.skills.list // -- sad path expectError(