JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
.gitignore
README.md
index.js
package.json

README.md

Facebook Messenger Streams

Wrap Facebook Messenger API in a stream-oriented interface. Using streams allows using a piping/filtering metaphor on incoming/outgoing messages which may help structure code better.

Usage

var FBInputStream = require('facebook-messenger-streams').InputStream;
var FBUserOutputStream = require('facebook-messenger-streams').UserOutputStream;

var fbInputStream = new FBInputStream(
    'mysecrettoken',
    process.env.APP_SECRET
);

fbInputStream.on('data', function (data) {
    var senderId = data.sender.id;

    console.log('got data from user', senderId, data);

    var userOutputStream = new FBUserOutputStream(
        process.env.PAGE_TOKEN,
        senderId
    );

    userOutputStream.write({ text: 'Hi there!' });
});

var app = new express.Router();
app.listen(process.env.PORT || 3000);

app.use('/webhook', fbInputStream.webhookRouter);