DEV Community

star__hoshi
star__hoshi

Posted on

Handle Slack's Incoming Webhook easily and type-safely in TypeScript

slackapi/node-slack-sdk is great slack client. However, it does not contain d.ts files. So I made a library with type definition.

typed-slack has type definitions, so you can handle slack-api easily and type-safely.

Code completion is enabled when using VSCode.

vscode\.gif \(898×298\)

Install

npm install typed-slack
Enter fullscreen mode Exit fullscreen mode

Usage

Webhook

import * as Slack from 'typed-slack'

let slack = new Slack.IncomingWebhook('https://hooks.slack.com/services/.......')
slack.send({ text: 'text' }).then(e => {
  console.log('success')
}).catch(e => {
  console.error(e)
})
Enter fullscreen mode Exit fullscreen mode

Use options

More optional parameters are here#typed-slack.d.ts

const options = <Slack.IncomingWebhookOptions>{
  text: '@star__hoshi Hi!',
  channel: 'debug',
  icon_emoji: ':smile:',
  link_names: 1,
  attachments: [
    {
      color: Slack.Color.Danger,
      fields: [
        {
          title: 'Priority',
          value: 'High',
          short: false
        }
      ],
      image_url: 'http://my-website.com/path/to/image.jpg',
      ts: 123456789
    }
  ]
}
await slack.send(options)
Enter fullscreen mode Exit fullscreen mode

starhoshi/typed-slack

Please use typed-slack !

Top comments (0)