This is Node.js library for easy operation with Slack API.
It also exposes all opportunities of Slack's Real Time Messaging API.
npm install slackbots
start
- event fired, when Real Time Messaging API is started (via websocket),message
- event fired, when something happens in Slack. Description of all events here,open
- websocket connection is open and ready to communicate,close
- websocket connection is closed.
getChannels
(return: promise) - returns a list of all channels in the team,getUsers
(return: promise) - returns a list of all users in the team,getUser
(return: promise) - gets user by name,getChannel
(return: promise) - gets channel by name,getChatId
(return: promise) - it returns or opens and returns a direct message channel ID,postMessage
- posts a message to channel | group | user by ID,postTo
- posts a message to channel | group | user by name,postMessageToChannel
- posts a message to channel by name,postMessageToUser
- posts a direct message by user name,postMessageToGroup
- posts a message to private group by name.
var SlackBot = require('slackbots');
// create a bot
var bot = new SlackBot({
token: 'xoxb-012345678-ABC1DFG2HIJ3', // Add a bot https://my.slack.com/services/new/bot and put the token
name: 'My Bot'
});
bot.on('start', function() {
// more information about additional params https://api.slack.com/methods/chat.postMessage
var params = {
icon_emoji: ':cat:'
};
bot.postMessageToChannel('general', 'meow!', params);
bot.postMessageToUser('username', 'meow!', params);
bot.postMessageToGroup('private_group', 'meow!', params);
});
/**
* @param {object} data
*/
bot.on('message', function(data) {
// all ingoing events https://api.slack.com/rtm
console.log(data);
});
###Response Handler Error:
bot.postMessageToUser('user1', 'hi').fail(function(data) {
//data = { ok: false, error: 'user_not_found' }
})
Success:
bot.postMessageToUser('user', 'hi').then(function(data) {
// ...
})
Error and Success:
bot.postMessageToUser('user', 'hi').always(function(data) {
// ...
})