beepboop-smallwins-slack
allows bot developers to run a smallwins/slack based bot on the Beep Boop HQ bot hosting platform and support multiple teams.
Supporting multiple teams from a single bot process is made simpler as beepboop-smallwins-slack
handles creating new RTM connections as new teams add your bot.
npm install --save beepboop-smallwins-slack
var slack = require('slack')
var beepboop = require('beepboop-smallwins-slack')
var workers = beepboop.start(slack, {
debug: true
})
workers.on('start', (bot) => {
// on bot started register handlers
bot.hello((message) => {
// connection succeeded
console.log('Got a message: ' + JSON.stringify(message))
})
})
see examples/simple.js for an example.
Module has exported function start
options.debug
Boolean - Logs debug output if true- Returns an EventEmitter2 instance. For more information on the events exposed, please see the underlying
beepboop
module's documentation, as it is what is returned here.
Since there can be multiple slack workers spawned (1 for each team), these are exposed via a workers
property on the returned beepboop instance after calling start()
. The workers
property is an object hash where the key is a unique bot token identifying the worker, and the value is the rtm client as returned from slack's listen()
function.
var slack = require('slack')
var beepboop = require('beepboop-smallwins-slack')
var workers = beepboop.start(slack, {
debug: true
})
// after teams have been added
workers.on('start', function (bot) {
bot.hello(message=> {
console.log(`Got a message: ${message}`)
})
})
This module will bubble up events sent from the beepboop-js package