SlackBots.js
This is Node.js library for easy operation with Slack API.
It also exposes all opportunities of Slack's Real Time Messaging API.
Installation
npm install slackbots
Events
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.error
- an error occurred while connecting to Slack
Methods
getChannels()
(return: promise) - returns a list of all channels in the team,getGroups()
(return: promise) - returns a list of all groups in the team,getUsers()
(return: promise) - returns a list of all users in the team,getImChannels()
(return: promise) - returns a list of bots direct message channels in the team,getChannel(name)
(return: promise) - gets channel by name,getGroup(name)
(return: promise) - gets group by name,getUser(name)
(return: promise) - gets user by name,getUserByEmail(name)
(return: promise) - gets user by name,getChannelId(name)
(return: promise) - gets channel ID by name,getGroupId(name)
(return: promise) - gets group ID by name,getUserId(name)
(return: promise) - gets user ID by name,getChatId(name)
(return: promise) - it returns or opens and returns a direct message channel ID,postEphemeral(id, user, text, params)
(return: promise) - posts an ephemeral message to channel and user by ID,postMessage(id, text, params)
(return: promise) - posts a message to channel | group | user by ID,updateMessage(channelId, timestamp, text, params)
(return: promise) - updates a message in a channel,postTo(name, message [, params, callback])
(return: promise) - posts a message to channel | group | user by name,postMessageToUser(name, message [, params, callback])
(return: promise) - posts a direct message by user name,postMessageToGroup(name, message [, params, callback])
(return: promise) - posts a message to private group by name,postMessageToChannel(name, message [, params, callback])
(return: promise) - posts a message to channel by name.openIm(userId)
(return: promise) - opens a direct message channel with another member in the team
Usage
var SlackBot = ; // create a botvar bot = token: 'xoxb-012345678-ABC1DFG2HIJ3' // Add a bot https://my.slack.com/services/new/bot and put the token name: 'My Bot'; bot;
PROFIT!
/** * @param */bot;
Response Handler
The simplest way for handling response is callback function, which is specified as a last argument:
bot;bot;
But also you can use promises.
Error:
bot
Success:
bot
Error and Success:
bot