Skip to content

Yoctol/messenger-batch

Repository files navigation

messenger-batch

npm Build Status License: MIT

Gracefully batching messenger requests.

Installation

npm install messenger-batch

This module is based on the approach described in Making Batch Requests.

Usage

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..

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