UNPKG

messenger-batch

Version:

Gracefully batching messenger requests.

81 lines (54 loc) 1.81 kB
# messenger-batch [![npm](https://img.shields.io/npm/v/messenger-batch.svg?style=flat-square)](https://www.npmjs.com/package/messenger-batch) [![Build Status](https://travis-ci.org/Yoctol/messenger-batch.svg?branch=master)](https://travis-ci.org/Yoctol/messenger-batch) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) > Gracefully batching messenger requests. ## Installation ```sh npm install messenger-batch ``` This module is based on the approach described in [Making Batch Requests](https://developers.facebook.com/docs/graph-api/making-multiple-requests/). ## Usage ```js const { MessengerClient, MessengerBatch } = require('messaging-api-messenger'); const { MessengerBatchQueue } = require('messenger-batch'); const client = MessengerClient.connect({ accessToken: ACCESS_TOKEN, }); const queue = new MessengerBatchQueue(client); (async () => { await queue.push( MessengerBatch.sendText('psid', 'hello!'); ); await queue.push( MessengerBatch.sendMessage('psid', { attachment: { type: 'image', payload: { url: 'https://cdn.free.com.tw/blog/wp-content/uploads/2014/08/Placekitten480-g.jpg', }, }, }) ); const profile = await queue.push(MessengerBatch.getUserProfile('psid')); console.log(profile); })(); ``` Retry for error: `(#613) Calls to this api have exceeded the rate limit.`. ```js const { MessengerBatchQueue, isError613 } = require('messenger-batch'); const queue = new MessengerBatchQueue(client, { shouldRetry: isError613, retryTimes: 2, }); ``` ## Options ### delay Default: `1000`. ### retryTimes Default: `0`. ### shouldRetry Default: `() => true`. ## License MIT © [Yoctol](https://github.com/Yoctol/messenger-batch)