JSPM

  • Created
  • Published
  • Downloads 1250
  • Score
    100M100P100Q109532F
  • License MIT

Messaging API client for LINE

Package Exports

  • messaging-api-line

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (messaging-api-line) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

messaging-api-line

Messaging API client for LINE

LINE

Table of Contents

Installation

npm i --save messaging-api-line

or

yarn add messaging-api-line

Usage

Initialize

const { LineClient } = require('messaging-api-line');

// get accessToken and channelSecret from LINE developers website
const client = LineClient.connect(accessToken, channelSecret);

API Reference

All methods return a Promise.


Reply API - Official Docs

Responds to events from users, groups, and rooms.

reply(token, messages)

Responds messages using specified reply token.

Param Type Description
token String replyToken received via webhook.
messages Array<Object> Array of objects which contains the contents of the message to be sent.

Example:

client.reply(REPLY_TOKEN, [
  {
    type: 'text',
    text: 'Hello!',
  },
]);

replyToken can only be used once, but you can send up to 5 messages using the same token.

const { Line } = require('messaging-api-line');

client.reply(REPLY_TOKEN, [
  Line.createText('Hello'),
  Line.createImage(
    'https://example.com/original.jpg',
    'https://example.com/preview.jpg'
  ),
  Line.createText('End'),
]);

replyText(token, text)

Responds text message using specified reply token.

Param Type Description
token String replyToken received via webhook.
text String Text of the message to be sent.

Example:

client.reply(REPLY_TOKEN, 'Hello!');

replyImage(token, imageUrl, previewImageUrl)

Responds image message using specified reply token.

Param Type Description
token String replyToken received via webhook.
imageUrl String Image URL.
previewImageUrl String Preview image URL.

Example:

client.replyImage(
  REPLY_TOKEN,
  'https://example.com/original.jpg',
  'https://example.com/preview.jpg'
);

replyVideo(token, videoUrl, previewImageUrl)

Responds video message using specified reply token.

Param Type Description
token String replyToken received via webhook.
videoUrl String URL of video file.
previewImageUrl String URL of preview image.

Example:

client.replyVideo(
  REPLY_TOKEN,
  'https://example.com/original.mp4',
  'https://example.com/preview.jpg'
);

replyAudio(token, audioUrl, duration)

Responds audio message using specified reply token.

Param Type Description
token String replyToken received via webhook.
audioUrl String URL of audio file.
duration Number Length of audio file.

Example:

client.replyAudio(REPLY_TOKEN, 'https://example.com/original.m4a', 240000);

replyLocation(token, location)

Responds location message using specified reply token.

Param Type Description
token String replyToken received via webhook.
location Object Object contains location's parameters.
location.title String Title of the location.
location.address String Address of the location.
location.latitude Number Latitude of the location.
location.longitude Number Longitude of the location.

Example:

client.replyLocation(REPLY_TOKEN, {
  title: 'my location',
  address: '〒150-0002 東京都渋谷区渋谷2丁目21−1',
  latitude: 35.65910807942215,
  longitude: 139.70372892916203,
});

replySticker(token, packageId, stickerId)

Responds sticker message using specified reply token.

Param Type Description
token String replyToken received via webhook.
packageId String Package ID.
stickerId String Sticker ID.

Example:

client.replySticker(REPLY_TOKEN, '1', '1');

Reply Imagemap Message

replyImagemap(token, altText, imagemap)

Responds imagemap message using specified reply token.

Param Type Description
token String replyToken received via webhook.
altText String Alternative text.
imagemap Object Object contains imagemap's parameters.
imagemap.baseUrl String Base URL of image.
imagemap.baseWidth Number Width of base image.
imagemap.baseHeight Number Height of base image.
imagemap.actions Array<Object> Action when tapped.

Example:

client.replyImagemap(REPLY_TOKEN, 'this is an imagemap', {
  baseUrl: 'https://example.com/bot/images/rm001',
  baseWidth: 1040,
  baseHeight: 1040,
  actions: [
    {
      type: 'uri',
      linkUri: 'https://example.com/',
      area: {
        x: 0,
        y: 0,
        width: 520,
        height: 1040,
      },
    },
    {
      type: 'message',
      text: 'hello',
      area: {
        x: 520,
        y: 0,
        width: 520,
        height: 1040,
      },
    },
  ],
});

Reply Template Messages

replyTemplate(token, altText, template)

Responds template message using specified reply token.

Param Type Description
token String replyToken received via webhook.
altText String Alternative text.
template Object Object with the contents of the template.

Example:

client.replyTemplate(REPLY_TOKEN, 'this is a template', {
  type: 'buttons',
  thumbnailImageUrl: 'https://example.com/bot/images/image.jpg',
  title: 'Menu',
  text: 'Please select',
  actions: [
    {
      type: 'postback',
      label: 'Buy',
      data: 'action=buy&itemid=123',
    },
    {
      type: 'postback',
      label: 'Add to cart',
      data: 'action=add&itemid=123',
    },
    {
      type: 'uri',
      label: 'View detail',
      uri: 'http://example.com/page/123',
    },
  ],
});

replyButtonTemplate(token, altText, buttonTemplate)

Responds button template message using specified reply token.

Param Type Description
token String replyToken received via webhook.
altText String Alternative text.
buttonTemplate Object Object contains buttonTemplate's parameters.
buttonTemplate.thumbnailImageUrl String Image URL of buttonTemplate.
buttonTemplate.title String Title of buttonTemplate.
buttonTemplate.text String Message text of buttonTemplate.
buttonTemplate.actions Array<Object> Action when tapped.

Example:

client.replyButtonTemplate(REPLY_TOKEN, 'this is a template', {
  thumbnailImageUrl: 'https://example.com/bot/images/image.jpg',
  title: 'Menu',
  text: 'Please select',
  actions: [
    {
      type: 'postback',
      label: 'Buy',
      data: 'action=buy&itemid=123',
    },
    {
      type: 'postback',
      label: 'Add to cart',
      data: 'action=add&itemid=123',
    },
    {
      type: 'uri',
      label: 'View detail',
      uri: 'http://example.com/page/123',
    },
  ],
});

replyConfirmTemplate(token, altText, confirmTemplate)

Responds confirm template message using specified reply token.

Param Type Description
token String replyToken received via webhook.
altText String Alternative text.
confirmTemplate Object Object contains confirmTemplate's parameters.
confirmTemplate.text String Message text of confirmTemplate.
confirmTemplate.actions Array<Object> Action when tapped.

Example:

client.replyConfirmTemplate(REPLY_TOKEN, 'this is a confirm template', {
  text: 'Are you sure?',
  actions: [
    {
      type: 'message',
      label: 'Yes',
      text: 'yes',
    },
    {
      type: 'message',
      label: 'No',
      text: 'no',
    },
  ],
});

replyCarouselTemplate(token, altText, carouselItems)

Responds carousel template message using specified reply token.

Param Type Description
token String replyToken received via webhook.
altText String Alternative text.
carouselItems Array<Object> Array of columns which contains object for carousel.

Example:

client.replyCarouselTemplate(REPLY_TOKEN, 'this is a carousel template', [
  {
    thumbnailImageUrl: 'https://example.com/bot/images/item1.jpg',
    title: 'this is menu',
    text: 'description',
    actions: [
      {
        type: 'postback',
        label: 'Buy',
        data: 'action=buy&itemid=111',
      },
      {
        type: 'postback',
        label: 'Add to cart',
        data: 'action=add&itemid=111',
      },
      {
        type: 'uri',
        label: 'View detail',
        uri: 'http://example.com/page/111',
      },
    ],
  },
  {
    thumbnailImageUrl: 'https://example.com/bot/images/item2.jpg',
    title: 'this is menu',
    text: 'description',
    actions: [
      {
        type: 'postback',
        label: 'Buy',
        data: 'action=buy&itemid=222',
      },
      {
        type: 'postback',
        label: 'Add to cart',
        data: 'action=add&itemid=222',
      },
      {
        type: 'uri',
        label: 'View detail',
        uri: 'http://example.com/page/222',
      },
    ],
  },
]);

replyImageCarouselTemplate(token, altText, carouselItems)

Responds image carousel template message using specified reply token.

Param Type Description
token String replyToken received via webhook.
altText String Alternative text.
carouselItems Array<Object> Array of columns which contains object for image carousel.

Example:

client.replyImageCarouselTemplate(
  REPLY_TOKEN,
  'this is an image carousel template',
  [
    {
      imageUrl: 'https://example.com/bot/images/item1.jpg',
      action: {
        type: 'postback',
        label: 'Buy',
        data: 'action=buy&itemid=111',
      },
    },
    {
      imageUrl: 'https://example.com/bot/images/item2.jpg',
      action: {
        type: 'message',
        label: 'Yes',
        text: 'yes',
      },
    },
    {
      imageUrl: 'https://example.com/bot/images/item3.jpg',
      action: {
        type: 'uri',
        label: 'View detail',
        uri: 'http://example.com/page/222',
      },
    },
  ]
);

Push API - Official Docs

Sends messages to a user, group, or room at any time.

push(userId, messages)

Sends messages using ID of the receiver.

Param Type Description
userId String ID of the receiver.
messages Array<Object> Array of objects which contains the contents of the message to be sent.

Example:

client.push(USER_ID, [
  {
    type: 'text',
    text: 'Hello!',
  },
]);

pushText(userId, text)

Sends text message using ID of the receiver.

Param Type Description
userId String ID of the receiver.
text String Text of the message to be sent.

Example:

client.pushText(USER_ID, 'Hello!');

pushImage(userId, imageUrl, previewImageUrl)

Sends image message using ID of the receiver.

Param Type Description
userId String ID of the receiver.
imageUrl String Image URL.
previewImageUrl String Preview image URL.

Example:

client.pushImage(
  USER_ID,
  'https://example.com/original.jpg',
  'https://example.com/preview.jpg'
);

pushVideo(userId, videoUrl, previewImageUrl)

Sends video message using ID of the receiver.

Param Type Description
userId String ID of the receiver.
videoUrl String URL of video file.
previewImageUrl String URL of preview image.

Example:

client.pushVideo(
  USER_ID,
  'https://example.com/original.mp4',
  'https://example.com/preview.jpg'
);

pushAudio(userId, audioUrl, duration)

Sends audio message using ID of the receiver.

Param Type Description
userId String ID of the receiver.
audioUrl String URL of audio file.
duration Number Length of audio file.

Example:

client.pushAudio(USER_ID, 'https://example.com/original.m4a', 240000);

pushLocation(userId, location)

Sends location message using ID of the receiver.

Param Type Description
userId String ID of the receiver.
location Object Object contains location's parameters.
location.title String Title of the location.
location.address String Address of the location.
location.latitude Number Latitude of the location.
location.longitude Number Longitude of the location.

Example:

client.pushLocation(USER_ID, {
  title: 'my location',
  address: '〒150-0002 東京都渋谷区渋谷2丁目21−1',
  latitude: 35.65910807942215,
  longitude: 139.70372892916203,
});

pushSticker(userId, packageId, stickerId)

Sends sticker message using ID of the receiver.

Param Type Description
userId String ID of the receiver.
packageId String Package ID.
stickerId String Sticker ID.

Example:

client.pushSticker(USER_ID, '1', '1');

Push Imagemap Message

pushImagemap(userId, altText, imagemap)

Sends imagemap message using ID of the receiver.

Param Type Description
userId String ID of the receiver.
altText String Alternative text.
imagemap Object Object contains imagemap's parameters.
imagemap.baseUrl String Base URL of image.
imagemap.baseWidth Number Width of base image.
imagemap.baseHeight Number Height of base image.
imagemap.actions Array<Object> Action when tapped.

Example:

client.pushImagemap(USER_ID, 'this is an imagemap', {
  baseUrl: 'https://example.com/bot/images/rm001',
  baseHeight: 1040,
  baseWidth: 1040,
  actions: [
    {
      type: 'uri',
      linkUri: 'https://example.com/',
      area: {
        x: 0,
        y: 0,
        width: 520,
        height: 1040,
      },
    },
    {
      type: 'message',
      text: 'hello',
      area: {
        x: 520,
        y: 0,
        width: 520,
        height: 1040,
      },
    },
  ],
});

Push Template Messages

pushTemplate(userId, altText, template)

Sends template message using ID of the receiver.

Param Type Description
userId String ID of the receiver.
altText String Alternative text.
template Object Object with the contents of the template.

Example:

client.pushTemplate(USER_ID, 'this is a template', {
  type: 'buttons',
  thumbnailImageUrl: 'https://example.com/bot/images/image.jpg',
  title: 'Menu',
  text: 'Please select',
  actions: [
    {
      type: 'postback',
      label: 'Buy',
      data: 'action=buy&itemid=123',
    },
    {
      type: 'postback',
      label: 'Add to cart',
      data: 'action=add&itemid=123',
    },
    {
      type: 'uri',
      label: 'View detail',
      uri: 'http://example.com/page/123',
    },
  ],
});

pushButtonTemplate(userId, altText, buttonTemplate)

Sends button template message using ID of the receiver.

Param Type Description
userId String ID of the receiver.
altText String Alternative text.
buttonTemplate Object Object contains buttonTemplate's parameters.
buttonTemplate.thumbnailImageUrl String Image URL of buttonTemplate.
buttonTemplate.title String Title of buttonTemplate.
buttonTemplate.text String Message text of buttonTemplate.
buttonTemplate.actions Array<Object> Action when tapped.

Example:

client.pushButtonTemplate(USER_ID, 'this is a template', {
  thumbnailImageUrl: 'https://example.com/bot/images/image.jpg',
  title: 'Menu',
  text: 'Please select',
  actions: [
    {
      type: 'postback',
      label: 'Buy',
      data: 'action=buy&itemid=123',
    },
    {
      type: 'postback',
      label: 'Add to cart',
      data: 'action=add&itemid=123',
    },
    {
      type: 'uri',
      label: 'View detail',
      uri: 'http://example.com/page/123',
    },
  ],
});

pushConfirmTemplate(userId, altText, confirmTemplate)

Sends confirm template message using ID of the receiver.

Param Type Description
userId String ID of the receiver.
altText String Alternative text.
confirmTemplate Object Object contains confirmTemplate's parameters.
confirmTemplate.text String Message text of confirmTemplate.
confirmTemplate.actions Array<Object> Action when tapped.

Example:

client.pushConfirmTemplate(USER_ID, 'this is a confirm template', {
  text: 'Are you sure?',
  actions: [
    {
      type: 'message',
      label: 'Yes',
      text: 'yes',
    },
    {
      type: 'message',
      label: 'No',
      text: 'no',
    },
  ],
});

pushCarouselTemplate(userId, altText, carouselItems)

Sends carousel template message using ID of the receiver.

Param Type Description
userId String ID of the receiver.
altText String Alternative text.
carouselItems Array<Object> Array of columns which contains object for carousel.

Example:

client.pushCarouselTemplate(USER_ID, 'this is a carousel template', [
  {
    thumbnailImageUrl: 'https://example.com/bot/images/item1.jpg',
    title: 'this is menu',
    text: 'description',
    actions: [
      {
        type: 'postback',
        label: 'Buy',
        data: 'action=buy&itemid=111',
      },
      {
        type: 'postback',
        label: 'Add to cart',
        data: 'action=add&itemid=111',
      },
      {
        type: 'uri',
        label: 'View detail',
        uri: 'http://example.com/page/111',
      },
    ],
  },
  {
    thumbnailImageUrl: 'https://example.com/bot/images/item2.jpg',
    title: 'this is menu',
    text: 'description',
    actions: [
      {
        type: 'postback',
        label: 'Buy',
        data: 'action=buy&itemid=222',
      },
      {
        type: 'postback',
        label: 'Add to cart',
        data: 'action=add&itemid=222',
      },
      {
        type: 'uri',
        label: 'View detail',
        uri: 'http://example.com/page/222',
      },
    ],
  },
]);

pushImageCarouselTemplate(userId, altText, carouselItems)

Sends image carousel template message using ID of the receiver.

Param Type Description
userId String ID of the receiver.
altText String Alternative text.
carouselItems Array<Object> Array of columns which contains object for image carousel.

Example:

client.pushImageCarouselTemplate(
  USER_ID,
  'this is an image carousel template',
  [
    {
      imageUrl: 'https://example.com/bot/images/item1.jpg',
      action: {
        type: 'postback',
        label: 'Buy',
        data: 'action=buy&itemid=111',
      },
    },
    {
      imageUrl: 'https://example.com/bot/images/item2.jpg',
      action: {
        type: 'message',
        label: 'Yes',
        text: 'yes',
      },
    },
    {
      imageUrl: 'https://example.com/bot/images/item3.jpg',
      action: {
        type: 'uri',
        label: 'View detail',
        uri: 'http://example.com/page/222',
      },
    },
  ]
);

Multicast API - Official Docs

Sends messages to multiple users at any time.

multicast(userIds, messages)

Sends messages to multiple users.

Param Type Description
userIds Array<String> IDs of the receivers.
messages Array<Object> Array of objects which contains the contents of the message to be sent.

Example:

client.multicast(
  [USER_ID],
  [
    {
      type: 'text',
      text: 'Hello!',
    },
  ]
);

multicastText(userIds, text)

Sends text message to multiple users.

Param Type Description
userIds Array<String> IDs of the receivers.
text String Text of the message to be sent.

Example:

client.multicastText([USER_ID], 'Hello!');

multicastImage(userIds, imageUrl, previewImageUrl)

Sends image message to multiple users.

Param Type Description
userIds Array<String> IDs of the receivers.
imageUrl String Image URL.
previewImageUrl String Preview image URL.

Example:

client.multicastImage(
  [USER_ID],
  'https://example.com/original.jpg',
  'https://example.com/preview.jpg'
);

multicastVideo(userIds, videoUrl, previewImageUrl)

Sends video message to multiple users.

Param Type Description
userIds Array<String> IDs of the receivers.
videoUrl String URL of video file.
previewImageUrl String URL of preview image.

Example:

client.multicastVideo(
  [USER_ID],
  'https://example.com/original.mp4',
  'https://example.com/preview.jpg'
);

multicastAudio(userIds, audioUrl, duration)

Sends audio message to multiple users.

Param Type Description
userIds Array<String> IDs of the receivers.
audioUrl String URL of audio file.
duration Number Length of audio file.

Example:

client.multicastAudio([USER_ID], 'https://example.com/original.m4a', 240000);

multicastLocation(userIds, location)

Sends location message to multiple users.

Param Type Description
userIds Array<String> IDs of the receivers.
location Object Object contains location's parameters.
location.title String Title of the location.
location.address String Address of the location.
location.latitude Number Latitude of the location.
location.longitude Number Longitude of the location.

Example:

client.multicastLocation([USER_ID], {
  title: 'my location',
  address: '〒150-0002 東京都渋谷区渋谷2丁目21−1',
  latitude: 35.65910807942215,
  longitude: 139.70372892916203,
});

multicastSticker(userIds, packageId, stickerId)

Sends sticker message to multiple users.

Param Type Description
userIds Array<String> IDs of the receivers.
packageId String Package ID.
stickerId String Sticker ID.

Example:

client.multicastSticker([USER_ID], '1', '1');

Multicast Imagemap Message

multicastImagemap(userIds, altText, imagemap)

Sends imagemap message to multiple users.

Param Type Description
userIds Array<String> IDs of the receivers.
altText String Alternative text.
imagemap Object Object contains imagemap's parameters.
imagemap.baseUrl String Base URL of image.
imagemap.baseWidth Number Width of base image.
imagemap.baseHeight Number Height of base image.
imagemap.actions Array<Object> Action when tapped.

Example:

client.multicastImagemap([USER_ID], 'this is an imagemap', {
  baseUrl: 'https://example.com/bot/images/rm001',
  baseHeight: 1040,
  baseWidth: 1040,
  actions: [
    {
      type: 'uri',
      linkUri: 'https://example.com/',
      area: {
        x: 0,
        y: 0,
        width: 520,
        height: 1040,
      },
    },
    {
      type: 'message',
      text: 'hello',
      area: {
        x: 520,
        y: 0,
        width: 520,
        height: 1040,
      },
    },
  ],
});

Multicast Template Messages

multicastTemplate(userIds, altText, template)

Sends template message to multiple users.

Param Type Description
userIds Array<String> IDs of the receivers.
altText String Alternative text.
template Object Object with the contents of the template.

Example:

client.multicastTemplate([USER_ID], 'this is a template', {
  type: 'buttons',
  thumbnailImageUrl: 'https://example.com/bot/images/image.jpg',
  title: 'Menu',
  text: 'Please select',
  actions: [
    {
      type: 'postback',
      label: 'Buy',
      data: 'action=buy&itemid=123',
    },
    {
      type: 'postback',
      label: 'Add to cart',
      data: 'action=add&itemid=123',
    },
    {
      type: 'uri',
      label: 'View detail',
      uri: 'http://example.com/page/123',
    },
  ],
});

multicastButtonTemplate(userIds, altText, buttonTemplate)

Sends button template message to multiple users.

Param Type Description
userIds Array<String> IDs of the receivers.
altText String Alternative text.
buttonTemplate Object Object contains buttonTemplate's parameters.
buttonTemplate.thumbnailImageUrl String Image URL of buttonTemplate.
buttonTemplate.title String Title of buttonTemplate.
buttonTemplate.text String Message text of buttonTemplate.
buttonTemplate.actions Array<Object> Action when tapped.

Example:

client.multicastButtonTemplate([USER_ID], 'this is a template', {
  thumbnailImageUrl: 'https://example.com/bot/images/image.jpg',
  title: 'Menu',
  text: 'Please select',
  actions: [
    {
      type: 'postback',
      label: 'Buy',
      data: 'action=buy&itemid=123',
    },
    {
      type: 'postback',
      label: 'Add to cart',
      data: 'action=add&itemid=123',
    },
    {
      type: 'uri',
      label: 'View detail',
      uri: 'http://example.com/page/123',
    },
  ],
});

multicastConfirmTemplate(userIds, altText, confirmTemplate)

Sends confirm template message to multiple users.

Param Type Description
userIds Array<String> IDs of the receivers.
altText String Alternative text.
confirmTemplate Object Object contains confirmTemplate's parameters.
confirmTemplate.text String Message text of confirmTemplate.
confirmTemplate.actions Array<Object> Action when tapped.

Example:

client.multicastConfirmTemplate([USER_ID], 'this is a confirm template', {
  text: 'Are you sure?',
  actions: [
    {
      type: 'message',
      label: 'Yes',
      text: 'yes',
    },
    {
      type: 'message',
      label: 'No',
      text: 'no',
    },
  ],
});

multicastCarouselTemplate(userIds, altText, carouselItems)

Sends carousel template message to multiple users.

Param Type Description
userIds Array<String> IDs of the receivers.
altText String Alternative text.
carouselItems Array<Object> Array of columns which contains object for carousel.

Example:

client.multicastCarouselTemplate([USER_ID], 'this is a carousel template', [
  {
    thumbnailImageUrl: 'https://example.com/bot/images/item1.jpg',
    title: 'this is menu',
    text: 'description',
    actions: [
      {
        type: 'postback',
        label: 'Buy',
        data: 'action=buy&itemid=111',
      },
      {
        type: 'postback',
        label: 'Add to cart',
        data: 'action=add&itemid=111',
      },
      {
        type: 'uri',
        label: 'View detail',
        uri: 'http://example.com/page/111',
      },
    ],
  },
  {
    thumbnailImageUrl: 'https://example.com/bot/images/item2.jpg',
    title: 'this is menu',
    text: 'description',
    actions: [
      {
        type: 'postback',
        label: 'Buy',
        data: 'action=buy&itemid=222',
      },
      {
        type: 'postback',
        label: 'Add to cart',
        data: 'action=add&itemid=222',
      },
      {
        type: 'uri',
        label: 'View detail',
        uri: 'http://example.com/page/222',
      },
    ],
  },
]);

multicastImageCarouselTemplate(userIds, altText, carouselItems)

Sends image carousel template message to multiple users.

Param Type Description
userIds Array<String> IDs of the receivers.
altText String Alternative text.
carouselItems Array<Object> Array of columns which contains object for image carousel.

Example:

client.multicastImageCarouselTemplate(
  [USER_ID],
  'this is an image carousel template',
  [
    {
      imageUrl: 'https://example.com/bot/images/item1.jpg',
      action: {
        type: 'postback',
        label: 'Buy',
        data: 'action=buy&itemid=111',
      },
    },
    {
      imageUrl: 'https://example.com/bot/images/item2.jpg',
      action: {
        type: 'message',
        label: 'Yes',
        text: 'yes',
      },
    },
    {
      imageUrl: 'https://example.com/bot/images/item3.jpg',
      action: {
        type: 'uri',
        label: 'View detail',
        uri: 'http://example.com/page/222',
      },
    },
  ]
);

Content API - Official Docs

retrieveMessageContent(messageId)

Retrieves image, video, and audio data sent in specified message.

Param Type Description
messageId String Message ID.

Example:

client.retrieveMessageContent(MESSAGE_ID);

Profile API - Official Docs

getUserProfile(userId)

Gets user profile information.

Param Type Description
userId String ID of the user.

Example:

client.getUserProfile(USER_ID).then(profile => {
  console.log(profile);
  // {
  //   displayName: 'LINE taro',
  //   userId: USER_ID,
  //   pictureUrl: 'http://obs.line-apps.com/...',
  //   statusMessage: 'Hello, LINE!',
  // }
});

Group/Room Member Profile API - Official Docs

getGroupMemberProfile(groupId, userId)

Gets the user profile of a member of a group that the bot is in.

Param Type Description
groupId String ID of the group.
userId String ID of the user.

Example:

client.getGroupMemberProfile(GROUP_ID, USER_ID).then(member => {
  console.log(member);
  // {
  //   "displayName":"LINE taro",
  //   "userId":"Uxxxxxxxxxxxxxx...",
  //   "pictureUrl":"http://obs.line-apps.com/..."
  // }
});

getRoomMemberProfile(roomId, userId)

Gets the user profile of a member of a room that the bot is in.

Param Type Description
roomId String ID of the group.
userId String ID of the user.

Example:

client.getRoomMemberProfile(ROOM_ID, USER_ID).then(member => {
  console.log(member);
  // {
  //   "displayName":"LINE taro",
  //   "userId":"Uxxxxxxxxxxxxxx...",
  //   "pictureUrl":"http://obs.line-apps.com/..."
  // }
});

Group/Room Member IDs API - Official Docs

getGroupMemberIds(groupId, start)

Gets the ID of the users of the members of a group that the bot is in.

Param Type Description
groupId String ID of the group.
userId String ID of the user.

Example:

client.getGroupMemberIds(GROUP_ID, CURSOR).then(res => {
  console.log(res);
  // {
  //   memberIds: [
  //     'Uxxxxxxxxxxxxxx...',
  //     'Uxxxxxxxxxxxxxx...',
  //     'Uxxxxxxxxxxxxxx...'
  //   ],
  //   next: 'jxEWCEEP...'
  // }
});

getAllGroupMemberIds(groupId)

Recursively gets the ID of the users of the members of a group that the bot is in using cursors.

Param Type Description
groupId String ID of the group.

Example:

client.getAllGroupMemberIds(GROUP_ID).then(ids => {
  console.log(ids);
  // [
  //   'Uxxxxxxxxxxxxxx..1',
  //   'Uxxxxxxxxxxxxxx..2',
  //   'Uxxxxxxxxxxxxxx..3',
  //   'Uxxxxxxxxxxxxxx..4',
  //   'Uxxxxxxxxxxxxxx..5',
  //   'Uxxxxxxxxxxxxxx..6',
  // ]
});

getRoomMemberIds(roomId, start)

Gets the ID of the users of the members of a room that the bot is in.

Param Type Description
roomId String ID of the room.
start String continuationToken.

Example:

client.getRoomMemberIds(ROOM_ID, CURSOR).then(res => {
  console.log(res);
  // {
  //   memberIds: [
  //     'Uxxxxxxxxxxxxxx...',
  //     'Uxxxxxxxxxxxxxx...',
  //     'Uxxxxxxxxxxxxxx...'
  //   ],
  //   next: 'jxEWCEEP...'
  // }
});

getAllRoomMemberIds(roomId)

Recursively gets the ID of the users of the members of a room that the bot is in using cursors.

Param Type Description
roomId String ID of the room.

Example:

client.getAllRoomMemberIds(ROOM_ID).then(ids => {
  console.log(ids);
  // [
  //   'Uxxxxxxxxxxxxxx..1',
  //   'Uxxxxxxxxxxxxxx..2',
  //   'Uxxxxxxxxxxxxxx..3',
  //   'Uxxxxxxxxxxxxxx..4',
  //   'Uxxxxxxxxxxxxxx..5',
  //   'Uxxxxxxxxxxxxxx..6',
  // ]
});

Leave API - Official Docs

leaveGroup(groupId)

Leave a group.

Param Type Description
groupId String ID of the group.

Example:

client.leaveGroup(GROUP_ID);

leaveRoom(roomId)

Leave a room.

Param Type Description
roomId String ID of the room.

Example:

client.leaveRoom(ROOM_ID);

Others

isValidSignature - Official Docs