Skip to content

a nodejs module for sending and receiving messages from Slack

Notifications You must be signed in to change notification settings

gamecredits-project/node-slack

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 

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

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%