@slack/web-api
Version:
Official library for using the Slack Platform's Web API
819 lines • 91.9 kB
JavaScript
"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