slack-sdk
v5.0.0
Published
Basic Slack Api SDK
Readme
Slack SDK
Basic Slack Api SDK using User Session Token
Install
npm i --save slack-sdkUsage
const slack = require('slack-sdk')('workspace-name', 'user-session-token', {/* options */});
slack.channel.message('channel-name', 'message');Options
cacheTtl
Cache duration in seconds. Optional, defaults to 60.
cacheMaxEntries
Maximum number of entries in cache at any given time. Optional, defaults to 100.
Obtaining User Session Token
- Go to https://YOURWORKSPACE.slack.com/home in Chrome
- Right click → Inspect
- Select the network tab
- Reload the page
- Type in api in the search
- Click rtm.start and then headers
- Scroll down until you find the
token. It starts withxoxs- - Copy it!
Functions
self.message(message: string)
Send message to self.
self.shareFiles(files: array)
Share files to self.
channel.meta(channel: string)
Get meta information about channel channel
channel.message(channel: string, message: string)
Send message to channel channel.
channel.setTopic(channel: string, topic: string)
Set topic of channel channel
channel.setPurpose(channel: string, purpose: string)
Set purpose of channel channel
channel.shareFiles(channel: string, files: array)
Share files to a channel channel.
workspace.details(cache: boolean = true)
Obtain details for workspace. Should usually be cached as it is easy to run into rate limits.
files.upload(filepath: string, title: string = null, filename: string = null)
Upload file. Title and filename default to basename of filepath. Returns file id.
Internal functions
call(endpoint: string, params: object, cache: boolean = false)
Send request to slack endpoint endpoint with parameters params.
E.g. call("rtm.start", {}, true) to obtain information about current user. Use cache if information was already obtained before.
Cache
Cache operates by matching the exact outgoing request signature.
Cached and non-cached requests operate separately. So making a non cached request does never alter the cache.

