10分ブログ

1記事10分で書くブログ

LINE@で「リッチメッセージのタップで固定ワードを発話」機能を実現したかった

趣味でLINE@をいじっている。(月額5400円のプラン)

LINE@では、リッチメニューなら各メニューにキーワードをひもづけることで「タップしたらキーワードを発話」させることができる。

しかしリッチメッセージの場合、管理画面で設定できるのがクーポンとURLだけである。

これらを使って、なんとかリッチメニューと同じ「タップしたらキーワードを発話」を実現したく、方法を考えてみた。

URLスキームを使う

結論を先にいうと、URLスキームを使うと疑似的にキーワード発話が可能だ。

https://line.me/R/msg/text/?[XXX]

[XXX]の部分にUTF-8でURLエンコードしたキーワードを入れる。

あいうえお」を発話させるなら

https://line.me/R/msg/text/?%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A

という具合である。

URLエンコードはこちらのページでできる。

UrlEncode.net URLエンコード

URLスキームを使う制約

ただしURLスキームで発話させようとすると

  • 発話先を選ぶ
  • 送信ボタンを押す

の2手間が必要だ。

それもそのはず、URLスキームは発話内容を事前に指定してLINEを起動する機能しかもっていない。

理由はタップするだけで指定したアカウントに指定したメッセージを自動送信させることができてしまうことを防ぐためだ。

URLはどこでも貼れる。悪用しない人間がいるはずがない。

まどろっこしいかもしれないが、仕組み上、この制約はあってしかるべきなのだ。

クーポンは使えない

なおクーポンを呼び出す機能もあるにはあるが、こちらは自動発話には使えない。

クーポンを見る別画面に遷移してしまうからだ。

URLだけでどうにかするしかない。

まとめ

LINE@は安価にLINEプラットフォームが使えて便利だ。

しかし少しこだわったことをしようとすると一気に難しくなる。

とはいえ、自由度の高い「公式アカウント」は月額250万円くらいするし、裏側の開発が必要なので正直手が出ない。

個人はおとなしく、LINE@でできる範囲のことをやるしかなさそうだ。