1.0.0 • Published 10 years ago
slack-webhook v1.0.0
slack-webhook
Installation
npm i -S slack-webhookUsage
Initialization
Setup an incoming webhook and copy the webhook url. This is the only required parameter to initialize the module.
var SlackWebhook = require('slack-webhook')
var slack = new SlackWebhook('https://hooks.slack.com/services/your/webhook/url')Optionally, you can pass in a defaults attribute to set defaults for the webhook's username, icon_emoji and channel. If no defaults attribute is used, it will default to the configuration that was used on the set up page.
var slack = new SlackWebhook('https://hooks.slack.com/services/your/webhook/url', {
defaults: {
username: 'Bot',
channel: '#general',
icon_emoji: ':robot_face:'
}
})Sending a message
There are two ways to send a message. The first is by passing a string as the argument.
slack.send('some text')The second is to pass a payload. Any options you pass in here will override the default ones you created at initialization.
slack.send({
text: 'some text',
attachments: [
// optional attachment data
],
username: 'new username',
icon_emoji: ':scream_cat:',
channel: '#another-channel'
})Both versions return a promise.
slack.send('some text').then(function (res) {
// succesful request
}).catch(function (err) {
// handle request error
})Configuring Promise Library
By default, this module uses Node >= v4's Promise object, but you can configure it to use your preferred Promise library.
// define it on initialization
var bluebird = require('bluebird')
var slack = new SlackWebhook('https://hooks.slack.com/services/your/webhook/url', {
Promise: bluebird
})
// define it after initialization
var q = require('q')
var slack = new SlackWebhook('https://hooks.slack.com/services/your/webhook/url')
slack.Promise = q.PromiseTests
npm t