LINE Messaging APIの新機能でLINE公式アカウントのアイコンを変更する


概要

先日(2020/03/17)、LINE公式アカウントのアイコンをメッセージ送信ごとに変更できる機能が一般開放されました。
これを使うことにより、ボットの機能や担当者ごとにアイコンを切り替えたりできるようになります。

詳細はこちらの公式サイト( https://developers.line.biz/ja/docs/messaging-api/icon-nickname-switch/#%E6%A6%82%E8%A6%81 ) をご覧ください。

イメージ

こんな感じで、1つの公式アカウントで複数のアイコンを使い分けれます。

使い方

※ そもそもメッセージの送信の仕方を知らないという方はこちら( https://qiita.com/fkooo/items/d07a7b717e120e661093 )などを参考にしてください。

使い方は簡単でこれまで

{
  "type": "text",
  "text": "ただいま混み合っています。1時間後くらいにこちらからメッセージさせていただきます。"
}

みたいになっていたメッセージオブジェクトにsenderプロパティをつけて、
sender.nameに表示名、sender.iconUrlにアイコン画像をつけるだけです。

{
  "type": "text",
  "text": "ただいま混み合っています。1時間後くらいにこちらからメッセージさせていただきます。",
  "sender": {
    "name": "bot",
    "iconUrl": "https://rsasage.s3-ap-northeast-1.amazonaws.com/qiita/omocha_robot-square.png"
  }
}

コード

全体のコードは下記のようになります。

index.js
const line = require('@line/bot-sdk')

const config = {
  channelAccessToken: 'YOUR_CHANNEL_ACCESS_TOKEN'
}

client = new line.Client(config)

client.pushMessage('YOUR_ACCOUNT_DESTINATION_ID', [
  {
    type: "text",
    text: "ただいま混み合っています。1時間後くらいにこちらからメッセージさせていただきます。",
    sender: {
      name: "bot",
      iconUrl: "https://rsasage.s3-ap-northeast-1.amazonaws.com/qiita/omocha_robot-square.png"
    }
  }
])

簡単ですね。

用途を考えてみた。

#1 チャットノベル

登場人物を増やせるので、別のアイコン同士で会話させて、たまにユーザに選択肢を与えたりすると面白いかもしれません。

#2 カスタマーサポート

人間による対応と自動通知による対応をアイコンを変えることでわかりやすくできます。
営業時間外はボットモードにして、営業時間内は人が対応することにしたり、ボットモードでも人間が対応できるように管理画面を自作したり、することになりますね。

#3 複数人プレイのゲーム

ユーザからメッセージをwebhookで受け取った時にそれをそのまま他のユーザに流してやると、擬似的にグループチャットのようなことが実現できるはずです。

グループチャットにボットを追加するのと同じですが、不特定多数とプレイできるのとリッチメニューを利用できる点が違います。
ただ、PUSHメッセージをたくさん送ることになりかねないのでお財布的に課題はあるかもしれません。

終わりに

他にもいろいろ工夫のしようがありそうですね。
Messaging APIを触ったことのある方なら簡単に導入できると思います。