node package manager
Orgs are free. Discover, share, and reuse code in your team. Create a free org »

slack-node

slack-node-sdk

Build Status

Slack Node SDK, full support for Webhook and the Slack API, continuously updated.

Install

npm install slack-node

Slack Webhook usage

At first, you have to apply Slack webhook. and copy webhook url

Webhook usage

Code example:

var Slack = require('slack-node');
 
webhookUri = "__uri___";
 
slack = new Slack();
slack.setWebhook(webhookUri);
 
slack.webhook({
  channel: "#general",
  username: "webhookbot",
  text: "This is posted to #general and comes from a bot named webhookbot."
}, function(err, response) {
  console.log(response);
});

Use icon emoji, you can give a Slack defined emoji, or use image from URL.

var Slack = require('slack-node');
 
webhookUri = "__uri___";
 
slack = new Slack();
slack.setWebhook(webhookUri);
 
// slack emoji 
slack.webhook({
  channel: "#general",
  username: "webhookbot",
  icon_emoji: ":ghost:",
  text: "test message, test message"
}, function(err, response) {
  console.log(response);
});
 
// URL image 
slack.webhook({
  channel: "#general",
  username: "webhookbot",
  icon_emoji: "http://icons.iconarchive.com/icons/rokey/popo-emotions/128/after-boom-icon.png",
  text: "test message, test message"
}, function(err, response) {
  console.log(response);
});

Otherwise, you can check usage from example

Slack API support

First you have to apply an API from SLACK API page,

The method, please reference Slack API page

example code,

var Slack = require('slack-node');
apiToken = "-- api token --";
 
slack = new Slack(apiToken);
 
slack.api("users.list", function(err, response) {
  console.log(response);
});
 
slack.api('chat.postMessage', {
  text:'hello from nodejs',
  channel:'#general'
}, function(err, response){
  console.log(response);
});

Changelog

  • 0.1.8

  • POST data sent as an array in a form will be sent correctly

  • 0.1.7

  • slack-node no longer crashes if Slack returns HTML instead of JSON.

  • 0.1.6

  • support ES6, promise function.

  • 0.1.3

  • use requestretry replace request. thanks for timjrobinson

  • update test

  • fixed emoji error

  • fixed return error crash when run time.

  • 0.1.0

  • fixed test type error

  • support new slack webhook.

  • 0.0.95

  • fixed webhook function and test

  • support file upload function

  • 0.0.93

  • return header and status

  • 0.0.92

  • merge slack emoji for webhook

  • pass request full request object

  • 0.0.9

  • pass parameters bug fixed