UNPKG

@slack/web-api

Version:

Official library for using the Slack Platform's Web API

819 lines 91.9 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Methods = void 0; const eventemitter3_1 = require("eventemitter3"); const WebClient_1 = require("./WebClient"); /** * Binds a certain `method` and its (required) arguments and result types to the `apiCall` method in `WebClient`. */ function bindApiCall(self, method) { const apiMethod = self.apiCall.bind(self, method); return apiMethod; } /** * Binds a certain `method` and its (required) arguments and result types to the `apiCall` method in `WebClient`. */ function bindApiCallWithOptionalArgument(self, method) { const apiMethod = self.apiCall.bind(self, method); return apiMethod; } function bindFilesUploadV2(self) { return self.filesUploadV2.bind(self); } /** * A class that defines all Web API methods, their arguments type, their response type, and binds those methods to the * `apiCall` class method. */ class Methods extends eventemitter3_1.EventEmitter { constructor() { super(); this.admin = { analytics: { /** * @description Retrieve analytics data for a given date, presented as a compressed JSON file. * @see {@link https://docs.slack.dev/reference/methods/api.test `api.test` API reference}. */ getFile: bindApiCall(this, 'admin.analytics.getFile'), }, apps: { activities: { /** * @description Get logs for a specified team/org. * @see {@link https://docs.slack.dev/reference/methods/admin.apps.activities.list `admin.apps.activities.list` API reference}. */ list: bindApiCallWithOptionalArgument(this, 'admin.apps.activities.list'), }, /** * @description Approve an app for installation on a workspace. * @see {@link https://docs.slack.dev/reference/methods/admin.apps.approve `admin.apps.approve` API reference}. */ approve: bindApiCall(this, 'admin.apps.approve'), approved: { /** * @description List approved apps for an org or workspace. * @see {@link https://docs.slack.dev/reference/methods/admin.apps.approved.list `admin.apps.approved.list` API reference}. */ list: bindApiCall(this, 'admin.apps.approved.list'), }, /** * @description Clear an app resolution. * @see {@link https://docs.slack.dev/reference/methods/admin.apps.clearResolution `admin.apps.clearResolution` API reference}. */ clearResolution: bindApiCall(this, 'admin.apps.clearResolution'), config: { /** * @description Look up the app config for connectors by their IDs. * @see {@link https://docs.slack.dev/reference/methods/admin.apps.config.lookup `admin.apps.config.lookup` API reference}. */ lookup: bindApiCall(this, 'admin.apps.config.lookup'), /** * @description Set the app config for a connector. * @see {@link https://docs.slack.dev/reference/methods/admin.apps.config.set `admin.apps.config.set` API reference}. */ set: bindApiCall(this, 'admin.apps.config.set'), }, requests: { /** * @description Cancel app request for team. * @see {@link https://docs.slack.dev/reference/methods/admin.apps.requests.cancel `admin.apps.requests.cancel` API reference}. */ cancel: bindApiCall(this, 'admin.apps.requests.cancel'), /** * @description List app requests for a team/workspace. * @see {@link https://docs.slack.dev/reference/methods/admin.apps.requests.list `admin.apps.requests.list` API reference}. */ list: bindApiCall(this, 'admin.apps.requests.list'), }, /** * @description Restrict an app for installation on a workspace. * @see {@link https://docs.slack.dev/reference/methods/admin.apps.restrict `admin.apps.restrict` API reference}. */ restrict: bindApiCall(this, 'admin.apps.restrict'), restricted: { /** * @description List restricted apps for an org or workspace. * @see {@link https://docs.slack.dev/reference/methods/admin.apps.restricted.list `admin.apps.restricted.list` API reference}. */ list: bindApiCall(this, 'admin.apps.restricted.list'), }, /** * @description Uninstall an app from one or many workspaces, or an entire enterprise organization. * @see {@link https://docs.slack.dev/reference/methods/admin.apps.uninstall `admin.apps.uninstall` API reference}. */ uninstall: bindApiCall(this, 'admin.apps.uninstall'), }, auth: { policy: { /** * @description Assign entities to a particular authentication policy. * @see {@link https://docs.slack.dev/reference/methods/admin.auth.policy.assignEntities `admin.auth.policy.assignEntities` API reference}. */ assignEntities: bindApiCall(this, 'admin.auth.policy.assignEntities'), /** * @description Fetch all the entities assigned to a particular authentication policy by name. * @see {@link https://docs.slack.dev/reference/methods/admin.auth.policy.getEntities `admin.auth.policy.getEntities` API reference}. */ getEntities: bindApiCall(this, 'admin.auth.policy.getEntities'), /** * @description Remove specified entities from a specified authentication policy. * @see {@link https://docs.slack.dev/reference/methods/admin.auth.policy.removeEntities `admin.auth.policy.removeEntities` API reference}. */ removeEntities: bindApiCall(this, 'admin.auth.policy.removeEntities'), }, }, barriers: { /** * @description Create an Information Barrier. * @see {@link https://docs.slack.dev/reference/methods/admin.barriers.create `admin.barriers.create` API reference}. */ create: bindApiCall(this, 'admin.barriers.create'), /** * @description Delete an existing Information Barrier. * @see {@link https://docs.slack.dev/reference/methods/admin.barriers.delete `admin.barriers.delete` API reference}. */ delete: bindApiCall(this, 'admin.barriers.delete'), /** * @description Get all Information Barriers for your organization. * @see {@link https://docs.slack.dev/reference/methods/admin.barriers.list `admin.barriers.list` API reference}. */ list: bindApiCallWithOptionalArgument(this, 'admin.barriers.list'), /** * @description Update an existing Information Barrier. * @see {@link https://docs.slack.dev/reference/methods/admin.barriers.update `admin.barriers.update` API reference}. */ update: bindApiCall(this, 'admin.barriers.update'), }, conversations: { /** * @description Archive a public or private channel. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.archive `admin.conversations.archive` API reference}. */ archive: bindApiCall(this, 'admin.conversations.archive'), /** * @description Archive public or private channels in bulk. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.bulkArchive `admin.conversations.bulkArchive` API reference}. */ bulkArchive: bindApiCall(this, 'admin.conversations.bulkArchive'), /** * @description Delete public or private channels in bulk. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.bulkDelete `admin.conversations.bulkDelete` API reference}. */ bulkDelete: bindApiCall(this, 'admin.conversations.bulkDelete'), /** * @description Move public or private channels in bulk. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.bulkMove `admin.conversations.bulkMove` API reference}. */ bulkMove: bindApiCall(this, 'admin.conversations.bulkMove'), /** * @description Convert a public channel to a private channel. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.convertToPrivate `admin.conversations.convertToPrivate` API reference}. */ convertToPrivate: bindApiCall(this, 'admin.conversations.convertToPrivate'), /** * @description Convert a private channel to a public channel. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.convertToPublic `admin.conversations.convertToPublic` API reference}. */ convertToPublic: bindApiCall(this, 'admin.conversations.convertToPublic'), /** * @description Create a public or private channel-based conversation. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.create `admin.conversations.create` API reference}. */ create: bindApiCall(this, 'admin.conversations.create'), /** * @description Delete a public or private channel. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.delete `admin.conversations.delete` API reference}. */ delete: bindApiCall(this, 'admin.conversations.delete'), /** * @description Disconnect a connected channel from one or more workspaces. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.disconnectShared `admin.conversations.disconnectShared` API reference}. */ disconnectShared: bindApiCall(this, 'admin.conversations.disconnectShared'), ekm: { /** * @description List all disconnected channels — i.e., channels that were once connected to other workspaces * and then disconnected — and the corresponding original channel IDs for key revocation with EKM. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.ekm.listOriginalConnectedChannelInfo `admin.conversations.ekm.listOriginalConnectedChannelInfo` API reference}. */ listOriginalConnectedChannelInfo: bindApiCallWithOptionalArgument(this, 'admin.conversations.ekm.listOriginalConnectedChannelInfo'), }, /** * @description Get conversation preferences for a public or private channel. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.getConversationPrefs `admin.conversations.getConversationPrefs` API reference}. */ getConversationPrefs: bindApiCall(this, 'admin.conversations.getConversationPrefs'), /** * @description Get a conversation's retention policy. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.getCustomRetention `admin.conversations.getCustomRetention` API reference}. */ getCustomRetention: bindApiCall(this, 'admin.conversations.getCustomRetention'), /** * @description Get all the workspaces a given public or private channel is connected to within * this Enterprise org. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.getTeams `admin.conversations.getTeams` API reference}. */ getTeams: bindApiCall(this, 'admin.conversations.getTeams'), /** * @description Invite a user to a public or private channel. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.invite `admin.conversations.invite` API reference}. */ invite: bindApiCall(this, 'admin.conversations.invite'), /** * @description Returns channels on the given team using the filters. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.lookup `admin.conversations.lookup` API reference}. */ lookup: bindApiCall(this, 'admin.conversations.lookup'), /** * @description Remove a conversation's retention policy. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.removeCustomRetention `admin.conversations.removeCustomRetention` API reference}. */ removeCustomRetention: bindApiCall(this, 'admin.conversations.removeCustomRetention'), /** * @description Rename a public or private channel. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.rename `admin.conversations.rename` API reference}. */ rename: bindApiCall(this, 'admin.conversations.rename'), restrictAccess: { /** * @description Add an allowlist of IDP groups for accessing a channel. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.restrictAccess.addGroup `admin.conversations.restrictAccess.addGroup` API reference}. */ addGroup: bindApiCall(this, 'admin.conversations.restrictAccess.addGroup'), /** * @description List all IDP Groups linked to a channel. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.restrictAccess.listGroups `admin.conversations.restrictAccess.listGroups` API reference}. */ listGroups: bindApiCall(this, 'admin.conversations.restrictAccess.listGroups'), /** * @description Remove a linked IDP group linked from a private channel. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.restrictAccess.removeGroup `admin.conversations.restrictAccess.removeGroup` API reference}. */ removeGroup: bindApiCall(this, 'admin.conversations.restrictAccess.removeGroup'), }, /** * @description Search for public or private channels in an Enterprise organization. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.search `admin.conversations.search` API reference}. */ search: bindApiCallWithOptionalArgument(this, 'admin.conversations.search'), /** * @description Set the posting permissions for a public or private channel. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.setConversationPrefs `admin.conversations.setConversationPrefs` API reference}. */ setConversationPrefs: bindApiCall(this, 'admin.conversations.setConversationPrefs'), /** * @description Set a conversation's retention policy. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.setCustomRetention `admin.conversations.setCustomRetention` API reference}. */ setCustomRetention: bindApiCall(this, 'admin.conversations.setCustomRetention'), /** * @description Set the workspaces in an Enterprise grid org that connect to a public or private channel. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.setTeams `admin.conversations.setTeams` API reference}. */ setTeams: bindApiCall(this, 'admin.conversations.setTeams'), /** * @description Unarchive a public or private channel. * @see {@link https://docs.slack.dev/reference/methods/admin.conversations.unarchive `admin.conversations.unarchive` API reference}. */ unarchive: bindApiCall(this, 'admin.conversations.unarchive'), }, emoji: { /** * @description Add an emoji. * @see {@link https://docs.slack.dev/reference/methods/admin.emoji.add `admin.emoji.add` API reference}. */ add: bindApiCall(this, 'admin.emoji.add'), /** * @description Add an emoji alias. * @see {@link https://docs.slack.dev/reference/methods/admin.emoji.addAlias `admin.emoji.addAlias` API reference}. */ addAlias: bindApiCall(this, 'admin.emoji.addAlias'), /** * @description List emoji for an Enterprise Grid organization. * @see {@link https://docs.slack.dev/reference/methods/admin.emoji.list `admin.emoji.list` API reference}. */ list: bindApiCallWithOptionalArgument(this, 'admin.emoji.list'), /** * @description Remove an emoji across an Enterprise Grid organization. * @see {@link https://docs.slack.dev/reference/methods/admin.emoji.remove `admin.emoji.remove` API reference}. */ remove: bindApiCall(this, 'admin.emoji.remove'), /** * @description Rename an emoji. * @see {@link https://docs.slack.dev/reference/methods/admin.emoji.rename `admin.emoji.rename` API reference}. */ rename: bindApiCall(this, 'admin.emoji.rename'), }, functions: { /** * @description Look up functions by a set of apps. * @see {@link https://docs.slack.dev/reference/methods/admin.functions.list `admin.functions.list` API reference}. */ list: bindApiCall(this, 'admin.functions.list'), permissions: { /** * @description Lookup the visibility of multiple Slack functions and include the users if * it is limited to particular named entities. * @see {@link https://docs.slack.dev/reference/methods/admin.functions.permissions.lookup `admin.functions.permissions.lookup` API reference}. */ lookup: bindApiCall(this, 'admin.functions.permissions.lookup'), /** * @description Set the visibility of a Slack function and define the users or workspaces if * it is set to named_entities. * @see {@link https://docs.slack.dev/reference/methods/admin.functions.permissions.set `admin.functions.permissions.set` API reference}. */ set: bindApiCall(this, 'admin.functions.permissions.set'), }, }, inviteRequests: { /** * @description Approve a workspace invite request. * @see {@link https://docs.slack.dev/reference/methods/admin.inviteRequests.approve `admin.inviteRequests.approve` API reference}. */ approve: bindApiCall(this, 'admin.inviteRequests.approve'), approved: { /** * @description List all approved workspace invite requests. * @see {@link https://docs.slack.dev/reference/methods/admin.inviteRequests.approved.list `admin.inviteRequests.approved.list` API reference}. */ list: bindApiCall(this, 'admin.inviteRequests.approved.list'), }, denied: { /** * @description List all denied workspace invite requests. * @see {@link https://docs.slack.dev/reference/methods/admin.inviteRequests.denied.list `admin.inviteRequests.denied.list` API reference}. */ list: bindApiCall(this, 'admin.inviteRequests.denied.list'), }, /** * @description Deny a workspace invite request. * @see {@link https://docs.slack.dev/reference/methods/admin.inviteRequests.deny `admin.inviteRequests.deny` API reference}. */ deny: bindApiCall(this, 'admin.inviteRequests.deny'), /** * @description List all pending workspace invite requests. * @see {@link https://docs.slack.dev/reference/methods/admin.inviteRequests.list `admin.inviteRequests.list` API reference}. */ list: bindApiCall(this, 'admin.inviteRequests.list'), }, roles: { /** * @description Adds members to the specified role with the specified scopes. * @see {@link https://docs.slack.dev/reference/methods/admin.roles.addAssignments `admin.roles.addAssignments` API reference}. */ addAssignments: bindApiCall(this, 'admin.roles.addAssignments'), /** * @description Lists assignments for all roles across entities. * Options to scope results by any combination of roles or entities. * @see {@link https://docs.slack.dev/reference/methods/admin.roles.listAssignments `admin.roles.listAssignments` API reference}. */ listAssignments: bindApiCallWithOptionalArgument(this, 'admin.roles.listAssignments'), /** * @description Removes a set of users from a role for the given scopes and entities. * @see {@link https://docs.slack.dev/reference/methods/admin.roles.removeAssignments `admin.roles.removeAssignments` API reference}. */ removeAssignments: bindApiCall(this, 'admin.roles.removeAssignments'), }, teams: { admins: { /** * @description List all of the admins on a given workspace. * @see {@link https://docs.slack.dev/reference/methods/admin.teams.admins.list `admin.teams.admins.list` API reference}. */ list: bindApiCall(this, 'admin.teams.admins.list'), }, /** * @description Create an Enterprise team. * @see {@link https://docs.slack.dev/reference/methods/admin.teams.create `admin.teams.create` API reference}. */ create: bindApiCall(this, 'admin.teams.create'), /** * @description List all teams on an Enterprise organization. * @see {@link https://docs.slack.dev/reference/methods/admin.teams.list `admin.teams.list` API reference}. */ list: bindApiCallWithOptionalArgument(this, 'admin.teams.list'), owners: { /** * @description List all of the owners on a given workspace. * @see {@link https://docs.slack.dev/reference/methods/admin.teams.owners.list `admin.teams.owners.list` API reference}. */ list: bindApiCall(this, 'admin.teams.owners.list'), }, settings: { /** * @description Fetch information about settings in a workspace. * @see {@link https://docs.slack.dev/reference/methods/admin.teams.settings.info `admin.teams.settings.info` API reference}. */ info: bindApiCall(this, 'admin.teams.settings.info'), /** * @description Set the default channels of a workspace. * @see {@link https://docs.slack.dev/reference/methods/admin.teams.settings.setDefaultChannels `admin.teams.settings.setDefaultChannels` API reference}. */ setDefaultChannels: bindApiCall(this, 'admin.teams.settings.setDefaultChannels'), /** * @description Set the description of a given workspace. * @see {@link https://docs.slack.dev/reference/methods/admin.teams.settings.setDescription `admin.teams.settings.setDescription` API reference}. */ setDescription: bindApiCall(this, 'admin.teams.settings.setDescription'), /** * @description Set the discoverability of a given workspace. * @see {@link https://docs.slack.dev/reference/methods/admin.teams.settings.setDiscoverability `admin.teams.settings.setDiscoverability` API reference}. */ setDiscoverability: bindApiCall(this, 'admin.teams.settings.setDiscoverability'), /** * @description Sets the icon of a workspace. * @see {@link https://docs.slack.dev/reference/methods/admin.teams.settings.setIcon `admin.teams.settings.setIcon` API reference}. */ setIcon: bindApiCall(this, 'admin.teams.settings.setIcon'), /** * @description Set the name of a given workspace. * @see {@link https://docs.slack.dev/reference/methods/admin.teams.settings.setName `admin.teams.settings.setName` API reference}. */ setName: bindApiCall(this, 'admin.teams.settings.setName'), }, }, usergroups: { /** * @description Add up to one hundred default channels to an IDP group. * @see {@link https://docs.slack.dev/reference/methods/admin.usergroups.addChannels `admin.teams.usergroups.addChannels` API reference}. */ addChannels: bindApiCall(this, 'admin.usergroups.addChannels'), /** * @description Associate one or more default workspaces with an organization-wide IDP group. * @see {@link https://docs.slack.dev/reference/methods/admin.usergroups.addTeams `admin.teams.usergroups.addTeams` API reference}. */ addTeams: bindApiCall(this, 'admin.usergroups.addTeams'), /** * @description List the channels linked to an org-level IDP group (user group). * @see {@link https://docs.slack.dev/reference/methods/admin.usergroups.listChannels `admin.teams.usergroups.listChannels` API reference}. */ listChannels: bindApiCall(this, 'admin.usergroups.listChannels'), /** * @description Remove one or more default channels from an org-level IDP group (user group). * @see {@link https://docs.slack.dev/reference/methods/admin.usergroups.removeChannels `admin.teams.usergroups.removeChannels` API reference}. */ removeChannels: bindApiCall(this, 'admin.usergroups.removeChannels'), }, users: { /** * @description Add an Enterprise user to a workspace. * @see {@link https://docs.slack.dev/reference/methods/admin.users.assign `admin.users.assign` API reference}. */ assign: bindApiCall(this, 'admin.users.assign'), /** * @description Invite a user to a workspace. * @see {@link https://docs.slack.dev/reference/methods/admin.users.invite `admin.users.invite` API reference}. */ invite: bindApiCall(this, 'admin.users.invite'), /** * @description List users on a workspace. * @see {@link https://docs.slack.dev/reference/methods/admin.users.list `admin.users.list` API reference}. */ list: bindApiCallWithOptionalArgument(this, 'admin.users.list'), /** * @description Remove a user from a workspace. * @see {@link https://docs.slack.dev/reference/methods/admin.users.remove `admin.users.remove` API reference}. */ remove: bindApiCall(this, 'admin.users.remove'), session: { /** * @description Clear user-specific session settings—the session duration and what happens when the client * closes—for a list of users. * @see {@link https://docs.slack.dev/reference/methods/admin.users.session.clearSettings `admin.users.session.clearSettings` API reference}. */ clearSettings: bindApiCall(this, 'admin.users.session.clearSettings'), /** * @description Get user-specific session settings—the session duration and what happens when the client * closes—given a list of users. * @see {@link https://docs.slack.dev/reference/methods/admin.users.session.getSettings `admin.users.session.getSettings` API reference}. */ getSettings: bindApiCall(this, 'admin.users.session.getSettings'), /** * @description Revoke a single session for a user. The user will be forced to login to Slack. * @see {@link https://docs.slack.dev/reference/methods/admin.users.session.invalidate `admin.users.session.invalidate` API reference}. */ invalidate: bindApiCall(this, 'admin.users.session.invalidate'), /** * @description List active user sessions for an organization. * @see {@link https://docs.slack.dev/reference/methods/admin.users.session.list `admin.users.session.list` API reference}. */ list: bindApiCallWithOptionalArgument(this, 'admin.users.session.list'), /** * @description Wipes all valid sessions on all devices for a given user. * @see {@link https://docs.slack.dev/reference/methods/admin.users.session.reset `admin.users.session.reset` API reference}. */ reset: bindApiCall(this, 'admin.users.session.reset'), /** * @description Enqueues an asynchronous job to wipe all valid sessions on all devices for a given user list. * @see {@link https://docs.slack.dev/reference/methods/admin.users.session.resetBulk `admin.users.session.resetBulk` API reference}. */ resetBulk: bindApiCall(this, 'admin.users.session.resetBulk'), /** * @description Configure the user-level session settings—the session duration and what happens when the client * closes—for one or more users. * @see {@link https://docs.slack.dev/reference/methods/admin.users.session.setSettings `admin.users.session.setSettings` API reference}. */ setSettings: bindApiCall(this, 'admin.users.session.setSettings'), }, /** * @description Set an existing guest, regular user, or owner to be an admin user. * @see {@link https://docs.slack.dev/reference/methods/admin.users.setAdmin `admin.users.setAdmin` API reference}. */ setAdmin: bindApiCall(this, 'admin.users.setAdmin'), /** * @description Set an expiration for a guest user. * @see {@link https://docs.slack.dev/reference/methods/admin.users.setExpiration `admin.users.setExpiration` API reference}. */ setExpiration: bindApiCall(this, 'admin.users.setExpiration'), /** * @description Set an existing guest, regular user, or admin user to be a workspace owner. * @see {@link https://docs.slack.dev/reference/methods/admin.users.setOwner `admin.users.setOwner` API reference}. */ setOwner: bindApiCall(this, 'admin.users.setOwner'), /** * @description Set an existing guest user, admin user, or owner to be a regular user. * @see {@link https://docs.slack.dev/reference/methods/admin.users.setRegular `admin.users.setRegular` API reference}. */ setRegular: bindApiCall(this, 'admin.users.setRegular'), unsupportedVersions: { /** * @description Ask Slackbot to send you an export listing all workspace members using unsupported software, * presented as a zipped CSV file. * @see {@link https://docs.slack.dev/reference/methods/admin.users.unsupportedVersions.export `admin.users.unsupportedVersions.export` API reference}. */ export: bindApiCall(this, 'admin.users.unsupportedVersions.export'), }, }, workflows: { collaborators: { /** * @description Add collaborators to workflows within the team or enterprise. * @see {@link https://docs.slack.dev/reference/methods/admin.workflows.collaborators.add `admin.workflows.collaborators.add` API reference}. */ add: bindApiCall(this, 'admin.workflows.collaborators.add'), /** * @description Remove collaborators from workflows within the team or enterprise. * @see {@link https://docs.slack.dev/reference/methods/admin.workflows.collaborators.remove `admin.workflows.collaborators.remove` API reference}. */ remove: bindApiCall(this, 'admin.workflows.collaborators.remove'), }, permissions: { /** * @description Look up the permissions for a set of workflows. * @see {@link https://docs.slack.dev/reference/methods/admin.workflows.permissions.lookup `admin.workflows.permissions.lookup` API reference}. */ lookup: bindApiCall(this, 'admin.workflows.permissions.lookup'), }, /** * @description Search workflows within the team or enterprise. * @see {@link https://docs.slack.dev/reference/methods/admin.workflows.search `admin.workflows.search` API reference}. */ search: bindApiCallWithOptionalArgument(this, 'admin.workflows.search'), /** * @description Unpublish workflows within the team or enterprise. * @see {@link https://docs.slack.dev/reference/methods/admin.workflows.unpublish `admin.workflows.unpublish` API reference}. */ unpublish: bindApiCall(this, 'admin.workflows.unpublish'), }, }; this.api = { /** * @description Checks API calling code. * @see {@link https://docs.slack.dev/reference/methods/api.test `api.test` API reference}. */ test: bindApiCallWithOptionalArgument(this, 'api.test'), }; this.assistant = { threads: { /** * @description Set loading status to indicate that the app is building a response. * @see {@link https://docs.slack.dev/reference/methods/assistant.threads.setStatus `assistant.threads.setStatus` API reference}. */ setStatus: bindApiCall(this, 'assistant.threads.setStatus'), /** * @description Set suggested prompts for the user. Can suggest up to four prompts. * @see {@link https://docs.slack.dev/reference/methods/assistant.threads.setSuggestedPrompts `assistant.threads.setSuggestedPrompts` API reference}. */ setSuggestedPrompts: bindApiCall(this, 'assistant.threads.setSuggestedPrompts'), /** * @description Set the title of the thread. This is shown when a user views the app's chat history. * @see {@link https://docs.slack.dev/reference/methods/assistant.threads.setTitle `assistant.threads.setTitle` API reference}. */ setTitle: bindApiCall(this, 'assistant.threads.setTitle'), }, }; this.apps = { connections: { /** * @description Generate a temporary Socket Mode WebSocket URL that your app can connect to in order to receive * events and interactive payloads over. * @see {@link https://docs.slack.dev/reference/methods/apps.connections.open `apps.connections.open` API reference}. */ open: bindApiCallWithOptionalArgument(this, 'apps.connections.open'), }, event: { authorizations: { /** * @description Get a list of authorizations for the given event context. * Each authorization represents an app installation that the event is visible to. * @see {@link https://docs.slack.dev/reference/methods/apps.event.authorizations.list `apps.event.authorizations.list` API reference}. */ list: bindApiCall(this, 'apps.event.authorizations.list'), }, }, manifest: { /** * @description Create an app from an app manifest. * @see {@link https://docs.slack.dev/reference/methods/apps.manifest.create `apps.manifest.create` API reference}. */ create: bindApiCall(this, 'apps.manifest.create'), /** * @description Permanently deletes an app created through app manifests. * @see {@link https://docs.slack.dev/reference/methods/apps.manifest.delete `apps.manifest.delete` API reference}. */ delete: bindApiCall(this, 'apps.manifest.delete'), /** * @description Export an app manifest from an existing app. * @see {@link https://docs.slack.dev/reference/methods/apps.manifest.export `apps.manifest.export` API reference}. */ export: bindApiCall(this, 'apps.manifest.export'), /** * @description Update an app from an app manifest. * @see {@link https://docs.slack.dev/reference/methods/apps.manifest.update `apps.manifest.update` API reference}. */ update: bindApiCall(this, 'apps.manifest.update'), /** * @description Validate an app manifest. * @see {@link https://docs.slack.dev/reference/methods/apps.manifest.validate `apps.manifest.validate` API reference}. */ validate: bindApiCall(this, 'apps.manifest.validate'), }, /** * @description Uninstalls your app from a workspace. * @see {@link https://docs.slack.dev/reference/methods/apps.uninstall `apps.uninstall` API reference}. */ uninstall: bindApiCall(this, 'apps.uninstall'), }; this.auth = { /** * @description Revokes a token. * @see {@link https://docs.slack.dev/reference/methods/auth.revoke `auth.revoke` API reference}. */ revoke: bindApiCallWithOptionalArgument(this, 'auth.revoke'), teams: { /** * @description Obtain a full list of workspaces your org-wide app has been approved for. * @see {@link https://docs.slack.dev/reference/methods/auth.teams.list `auth.teams.list` API reference}. */ list: bindApiCallWithOptionalArgument(this, 'auth.teams.list'), }, test: bindApiCallWithOptionalArgument(this, 'auth.test'), }; this.bookmarks = { /** * @description Add bookmark to a channel. * @see {@link https://docs.slack.dev/reference/methods/bookmarks.add `bookmarks.add` API reference}. */ add: bindApiCall(this, 'bookmarks.add'), /** * @description Edit bookmark. * @see {@link https://docs.slack.dev/reference/methods/bookmarks.edit `bookmarks.edit` API reference}. */ edit: bindApiCall(this, 'bookmarks.edit'), /** * @description List bookmarks for a channel. * @see {@link https://docs.slack.dev/reference/methods/bookmarks.list `bookmarks.list` API reference}. */ list: bindApiCall(this, 'bookmarks.list'), /** * @description Remove bookmark from a channel. * @see {@link https://docs.slack.dev/reference/methods/bookmarks.remove `bookmarks.remove` API reference}. */ remove: bindApiCall(this, 'bookmarks.remove'), }; this.bots = { /** * @description Gets information about a bot user. * @see {@link https://docs.slack.dev/reference/methods/bots.info `bots.info` API reference}. */ info: bindApiCallWithOptionalArgument(this, 'bots.info'), }; this.calls = { /** * @description Registers a new Call. * @see {@link https://docs.slack.dev/reference/methods/calls.add `calls.add` API reference}. */ add: bindApiCall(this, 'calls.add'), /** * @description Ends a Call. * @see {@link https://docs.slack.dev/reference/methods/calls.end `calls.end` API reference}. */ end: bindApiCall(this, 'calls.end'), /** * @description Returns information about a Call. * @see {@link https://docs.slack.dev/reference/methods/calls.info `calls.info` API reference}. */ info: bindApiCall(this, 'calls.info'), /** * @description Updates information about a Call. * @see {@link https://docs.slack.dev/reference/methods/calls.update `calls.update` API reference}. */ update: bindApiCall(this, 'calls.update'), participants: { /** * @description Registers new participants added to a Call. * @see {@link https://docs.slack.dev/reference/methods/calls.participants.add `calls.participants.add` API reference}. */ add: bindApiCall(this, 'calls.participants.add'), remove: bindApiCall(this, 'calls.participants.remove'), }, }; this.canvases = { access: { /** * @description Remove access to a canvas for specified entities. * @see {@link https://docs.slack.dev/reference/methods/canvases.access.delete `canvases.access.delete` API reference}. */ delete: bindApiCall(this, 'canvases.access.delete'), /** * @description Sets the access level to a canvas for specified entities. * @see {@link https://docs.slack.dev/reference/methods/canvases.access.set `canvases.access.set` API reference}. */ set: bindApiCall(this, 'canvases.access.set'), }, /** * @description Create Canvas for a user. * @see {@link https://docs.slack.dev/reference/methods/canvases.create `canvases.create` API reference}. */ create: bindApiCallWithOptionalArgument(this, 'canvases.create'), /** * @description Deletes a canvas. * @see {@link https://docs.slack.dev/reference/methods/canvases.delete `canvases.delete` API reference}. */ delete: bindApiCall(this, 'canvases.delete'), /** * @description Update an existing canvas. * @see {@link https://docs.slack.dev/reference/methods/canvases.edit `canvases.edit` API reference}. */ edit: bindApiCall(this, 'canvases.edit'), sections: { /** * @description Find sections matching the provided criteria. * @see {@link https://docs.slack.dev/reference/methods/canvases.sections.lookup `canvases.sections.lookup` API reference}. */ lookup: bindApiCall(this, 'canvases.sections.lookup'), }, }; this.chat = { /** * @description Deletes a message. * @see {@link https://docs.slack.dev/reference/methods/chat.delete `chat.delete` API reference}. */ delete: bindApiCall(this, 'chat.delete'), /** * @description Deletes a pending scheduled message from the queue. * @see {@link https://docs.slack.dev/reference/methods/chat.deleteScheduledMessage `chat.deleteScheduledMessage` API reference}. */ deleteScheduledMessage: bindApiCall(this, 'chat.deleteScheduledMessage'), /** * @description Retrieve a permalink URL for a specific extant message. * @see {@link https://docs.slack.dev/reference/methods/chat.getPermalink `chat.getPermalink` API reference}. */ getPermalink: bindApiCall(this, 'chat.getPermalink'), /** * @description Share a me message into a channel. * @see {@link https://docs.slack.dev/reference/methods/chat.meMessage `chat.meMessage` API reference}. */ meMessage: bindApiCall(this, 'chat.meMessage'), /** * @description Sends an ephemeral message to a user in a channel. * @see {@link https://docs.slack.dev/reference/methods/chat.postEphemeral `chat.postEphemeral` API reference}. */ postEphemeral: bindApiCall(this, 'chat.postEphemeral'), /** * @description Sends a message to a channel. * @see {@link https://docs.slack.dev/reference/methods/chat.postMessage `chat.postMessage` API reference}. */ postMessage: bindApiCall(this, 'chat.postMessage'), /** * @description Schedules a message to be sent to a channel. * @see {@link https://docs.slack.dev/reference/methods/chat.scheduleMessage `chat.scheduleMessage` API reference}. */ scheduleMessage: bindApiCall(this, 'chat.scheduleMessage'), scheduledMessages: { /** * @description Returns a list of scheduled messages. * @see {@link https://docs.slack.dev/reference/methods/chat.scheduledMessages.list `chat.sche