Skip to content
 
 

Latest commit

 

History

60 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SlackBots.js

license Build Status npm

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.

Methods

  • 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.

Usage

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);
});

PROFIT!

/**
 * @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) {
    // ...
})

About

Simple way to control your Slack Bot

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages