Q&A

リプライ先のメッセージ情報を取得したい

前提・実現したいこと

グループにLINE Botを追加し、リプライ機能を使われた場合のみ、リプライ先のメッセージに対して何らかの処理をLINE Bot側で行いたいです。

そのために、メッセージに対する「リプライ機能」を用いた際に、Messaging APIでリプライ先のメッセージに関する情報を取得したいです。

例えば、メッセージAに対してメッセージBをリプライした場合に、メッセージBに関するWebHookイベント等で下記の情報を取得することは可能でしょうか。

  • メッセージAのID
  • メッセージAの内容
  • メッセージAを送信したユーザID

知見をお持ちの方がいらっしゃれば教えて頂けると助かります。

試したこと

公式ドキュメントの Webhookイベントオブジェクト を見る限りは、リプライに関するイベントは存在しないようです。

また、メッセージA/Bに対するWebHookイベント(メッセージイベント)を取得した結果を下記に貼っておきます。 これを見る限りでは、リプライ先のメッセージの情報は取得できなさそうです。

メッセージA

2022-06-27T16:21:24.672Z	xxxxxxxxxxxxx-0e8e80d39168	INFO	{
  type: 'message',
  message: { type: 'text', id: 'xxxxxxxxxx542', text: '元ネタ' },
  webhookEventId: 'xxxxxxxxxxxxxENF',
  deliveryContext: { isRedelivery: false },
  timestamp: 1656346882969,
  source: {
    type: 'group',
    groupId: 'xxxxxxxxxxxxxc8f9',
    userId: 'xxxxxxxxxxxxx79f9'
  },
  replyToken: 'xxxxxxxxxxxxxd45a',
  mode: 'active'
}

メッセージB

2022-06-27T16:21:37.963Z	xxxxxxxxxxxxx-e213cde58e86	INFO	{
  type: 'message',
  message: { type: 'text', id: 'xxxxxxxxxx366', text: 'ネタへのリプライ' },
  webhookEventId: 'xxxxxxxxxxxxxTXY',
  deliveryContext: { isRedelivery: false },
  timestamp: 1656346896260,
  source: {
    type: 'group',
    groupId: 'xxxxxxxxxxxxxc8f9',
    userId: 'xxxxxxxxxxxxx79f9'
  },
  replyToken: 'xxxxxxxxxxxxx8983',
  mode: 'active'
}
  • 0
  • 0
  • 247
  • twitter facebook
Are you sure? question.vm