A node module for streaming flowdock flows. NOTE: for the older API, check version 0.1.3.
npm install flowdock-stream
var FlowdockStream = ;var org = 'organization';var flows = 'flow' 'another';var apikey = 'personal-apikey';var defaultRequestOptions = proxy: '' ;var flowdockStream = FlowdockStream;flowdockStream;flowdockStream;flowdockStream;
A stream is created with the only exported function as follows:
FlowdockStream.createClient( organization, flows, apikey, defaultRequestOptions )
- first three arguments are mandatory, the apikey is a personal apikey, not an apikey of a flow (the module accesses the REST-API that requires the personal key)
flowsargument can be either a string (for a sinlge flow) or an array (for multiple flows)
defaultRequestOptionsis an object passed to the underlying
request-module to use as default options
- the stream will emit a
readyevent once the stream is about to start emitting data and the
flowsproperty has been set
The stream itself is a readable node.js stream in object-mode (each
data-event holds a complete object), but added are a couple of methods for convenience:
- Object that contains the names and urikeys as well as all of the users in the flow at the time of joining.
flowdockStream.getFlows( callback )
- Function that takes a callback-function which returns two arguments error (Error), and flows (Object), this also gets all of the users for each flow.
flowdockStream.getUsers( flow, callback )
- Function that takes the name of the flow flow and a callback-function which returns two arguments error (Error), and users (Object)
flowdockStream.send( flow, message, [commentToId], [callback] )
- Function that can be used to send a
flow(you can pick the flow-name from the flows-object by the id in an event-callback, see the example). Optionally you can pass an message-id as the third argument to send the message as a comment to a previous message. Also takes an optional callback which is passed to the underlying request module.