LINE WORKS Bot技術調査メモ
概要
LINE WORKS Bot の技術調査を行った際のメモです。
LINE WORKS Bot を初めて実装する方に向けて、学習手順を示します。
この記事は LINE WORKS Bot 初学者の調査過程をトレースした記事という感じです。
具体的な手順やコードを示した記事は既にあるので、それらは後に紹介します。
学習ステップ
全体像を理解する
この辺りの記事をサラッと読んで理解を深めると良いです。
LINE WORKSについて理解する
LINEとつながる唯一のビジネスチャット - LINE WORKS
LINE WORKS とはなにか?アカウント登録方法などが示されています。
Botについて理解する
Bot - LINE WORKS
Bot開発 - LINE WORKS
Bot API | LINE WORKS Developers
Bot とはなにか?どのような Bot があるか?どういったことが実現できるか?などが示されています。
具体的な実装方法を理解する
この辺りのサンプルコードを見て、 Bot で必要な要素を理解します。
この記事では Developer Console での操作・事前準備について言及されているので必読です。
【LINE WORKS】LINE WORKS API 2.0をPostmanで手っ取り早く試してみる【サンプルあり】 #OAuth - Qiita
以下の「LINE WORKS 熱中症アラート Bot」は現在公開されている Bot なので追加して確認できるのでイメージが湧きやすいです。
サンプルコード | LINE WORKS Developers
いずれも GitHub でコードが公開されているので、手元にクローンして確認することができます。
これらのコードを読めば、大体理解して自分でコードを書けるはずです。
Bot で必要なのは、以下の2つです。
- ユーザーのメッセージ送信を Webhook で検知する
- Bot API をコールしてメッセージを送信する
ユーザーに対してパーソナライズしたメッセージを送信したければ、DBにLINEユーザー情報やメッセージを保存することで実現できます。
LINE WORKS Bot を他システムと連携したいとき(例えば自社システムユーザーに LINE WORKS Bot を通して自社システムでのイベントを通知したい)ときは自社システムのDBのユーザー情報にLINEユーザーの情報を紐づけて保存します。
Bot からユーザーへの一方向のメッセージのみで良ければ、 Bot の設定でユーザーがメッセージを送信できないようにすることもできます。
注意事項
- LINE WORKSユーザーはLINE公式アカウントを友だち追加できません。
- LINEユーザー向けの API は使えません。
- LINEユーザーにBotを提供したければ、 Messaging API を使います。
- Bot はテナントに登録して使います。登録にはテナント管理者による操作が必要です。 参考
- WOFF SDK は2024年10月現在 CDN でのみ提供されています
html:index.html
<!-- WOFF SDK -->
<script charset="utf-8" src="https://static.worksmobile.net/static/wm/woff/edge/3.6/sdk.js"></script>
- テナント管理者が Bot を公開して、テナントに属するユーザーが Bot を追加する方法が分かりづらい
LINE WORKSヘルプセンター では、「公開にすると、利用権限がある全メンバーの連絡先リストに表示されます。」と示されています。
LINE でいうところの友だち一覧に追加されるのかなと思いきや、それに相当する(?)アドレス帳には Bot は表示されません。
有識者からすれば当たり前すぎるからか、どこにも Bot の追加方法が載っていなかったのですが、いじくり回したところトークタブから追加できました。
手順1
手順2
手順3
手順4
Bot を追加する画面。
手順5
Bot とのトーク画面になった。
トーク一覧でも確認できた。
これで Bot の追加は完了。
少々分かりづらいので、職場で LINE WORKS を使っていて、従業員に特定の Bot を追加してほしかったら、手順書を用意したりフォローしないと難しいかもしれないです。。
おわりに
LINE WORKS API は LINE API よりも情報量が少なく、仕様も分かりづらいです。
どこまでが Bot API でどこまでが WOFF なのかなど、最初はよくわからなかったですが、実際に調べてみると Bot に関してでいうと半日あればざっくり理解してコードを書き始めることができると思います。
Developer Console などでの操作が「これをやるためになんの操作が必要なのだろう・・・」と悩むことが多かったですが、コードの実装自体はとても簡単です。
また調査・実装する中で詰まった点などがあればこの記事に追記していきます。
Discussion