JSPM

  • Created
  • Published
  • Downloads 124
  • Score
    100M100P100Q75188F
  • License MIT

Basic Slack Api SDK

Package Exports

  • slack-sdk

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (slack-sdk) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Slack SDK

Build Status Test Coverage Dependabot Status Dependencies NPM Downloads Semantic-Release Gardener

Basic Slack Api SDK using User Session Token

Install

npm i --save slack-sdk

Usage

const slack = require('slack-sdk')('workspace-name', 'user-session-token', {/* options */});

slack.message.channel('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

  1. Go to https://YOURWORKSPACE.slack.com/home in Chrome
  2. Right click → Inspect
  3. Select the network tab
  4. Reload the page
  5. Type in api in the search
  6. Click rtm.start and then headers
  7. Scroll down until you find the token. It starts with xoxs-
  8. Copy it!

Functions

message.self(message: string)

Send message to self.

message.channel(channel: string, message: string)

Send message to channel channel.

workspace.details(cache: boolean = true)

Obtain details for workspace. Should usually be cached as it is easy to run into rate limits.

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.