Skip to content

About

a nodejs module for sending and receiving messages from Slack

Resources

Stars

384 stars

Watchers

17 watching

Forks

Latest commit

 

History

35 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-slack

A node module for sending and receiving messages with Slack via webhooks.

Slack is a messaging platform that is easy to integrate with. This module should be useful for creating various integrations with Slack, such as chat bots!

Install Slack

node-slack is available via npm:

npm install node-slack

Get your hook_url from the Slack Incoming Webhooks Integration page.

var Slack = require('node-slack');
var slack = new Slack(hook_url,options);

If your system requires that requests be made through an HTTP or HTTPS proxy, you can either set an environment variables https_proxy and http_proxy, or pass in the optional third option:

var slack = new Slack(hook_url,{proxy: http_proxy});

To send a message, call slack.send:

slack.send({
	text: 'Howdy!',
	channel: '#foo',
	username: 'Bot'
});

You can also specify an emoji icon, a url to a custom icon, attachments, and any of the other options listed here.

slack.send({
	text: 'Howdy!',
	channel: '#foo',
	username: 'Bot',
	icon_emoji: 'taco',
	attachments: attachment_array,
	unfurl_links: true,
	link_names: 1
});

To respond to an outgoing webhook from slack, pass the information from the webhook into slack.respond, along with a callback function responsible for returning a response.

From inside an Express.js route, this is as easy as passing in req.body:

app.post('/yesman',function(req,res) {

	var reply = slack.respond(req.body,function(hook) {

		return {
			text: 'Good point, ' + hook.user_name,
			username: 'Bot'
		};

	});

	res.json(reply);

});

About

a nodejs module for sending and receiving messages from Slack

Resources

Stars

384 stars

Watchers

17 watching

Forks

Releases

Packages

Used by

Contributors

Languages