https://github.com/yoctol/messenger-batch
Gracefully batching messenger requests.
https://github.com/yoctol/messenger-batch
Last synced: 2 days ago
JSON representation
Gracefully batching messenger requests.
- Host: GitHub
- URL: https://github.com/yoctol/messenger-batch
- Owner: Yoctol
- License: mit
- Created: 2018-02-18T14:33:44.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2021-07-01T05:31:24.000Z (almost 5 years ago)
- Last Synced: 2025-02-27T00:16:11.968Z (over 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 455 KB
- Stars: 1
- Watchers: 12
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# messenger-batch
[](https://www.npmjs.com/package/messenger-batch)
[](https://travis-ci.org/Yoctol/messenger-batch)
[](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);
queue.stop();
})();
```
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)