flowdock-stream
A node module for streaming flowdock flows. NOTE: for the older API, check version 0.1.3.
Installation
npm install flowdock-stream
Usage
var FlowdockStream = ;var org = 'organization';var flows = 'flow' 'another';var apikey = 'personal-apikey';var defaultRequestOptions = proxy: 'http://user:pass@proxyserver' ;var flowdockStream = FlowdockStream; flowdockStream; flowdockStream; flowdockStream;
Public methods
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)
- the
flows
argument can be either a string (for a sinlge flow) or an array (for multiple flows) - the
defaultRequestOptions
is an object passed to the underlyingrequest
-module to use as default options - the stream will emit a
ready
event once the stream is about to start emitting data and theflows
property 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:
flowdockStream.flows
- 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
message
to theflow
(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.