Q&A

LINE Messaging APIを用いたBotで、ユーザあてにメンションを付けて応答を返すには?

前提・実現したいこと

現在、Messaging APIを用いてLINE botを作成しています。 このボットはDMだけではなく、グループやルームでも使用することを考えており、その場合ボットからの応答がどのユーザの問い合わせに対する応答なのかをわかりやすくするために、ボットからの応答にユーザあてのメンションをつけて返したいと考えています。

ex. ユーザ(名前は「Alice」とする):「今日の天気は?」 LINEボット:「@Alice 今日は晴れだよ。」

試したこと

メッセージイベントの際にuserIdがわたってきていますが、こちらを使ってメンションを付けることができないでしょうか? またユーザの名前を取得することができれば、"@" + "Alice"のようにメンションを付けることができるのでしょうか?

{
  "destination": "xxxxxxxxxx",
  "events": [
    {
      "replyToken": "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
      "type": "message",
      "mode": "active",
      "timestamp": 1462629479859,
      "source": {
        "type": "user",
        "userId": "U4af4980629..."
      },
      "message": {
        "id": "325708",
        "type": "text",
        "text": "@example Hello, world! (love)",

どなたか教えていただけると幸いです。

  • 0
  • 1
  • 1018
  • twitter facebook

APIドキュメントには2021/08/26現在書かれていないのでできないと思います。 APIが公開されるまで待ち、それまではprofileから名前を取得してとりあえずメッセージに名前をつけておく他ないのかなと思います。(私もそのようにしています。)

  • 1
Are you sure? question.vm