Claris Connect で かんたんに LINE WORKS の Bot 作成
Qiita Engineer Festa 2022 参加記事です。
Claris Connect で LINE WORKS の Bot を作ってみました。
LINE WORKS の API 2.0 のトーク Bot API を使ってます。
- 話しかけると、語尾にランダムに「にゃ」「にゃん」「にゃー」などをつけて返事するにゃー
- ついでにいろいろなネコの画像を送ってくる
Claris Connect は、編集画面がシンプルでわかりやすいです。初めてでも操作に戸惑うことがなかったです。
試用版にサインアップして、手探りで操作すること 1 時間未満で、この Bot はできました。
そこから、楽しくなって、さらに色々試してみていたら、API リクエストの上限のメッセージが表示されるようになりました。試用版は Developer プラン相当のようで、500 requests/月が上限のようです。
なお、作成途中でのテストが行いやすく、エラーの確認も容易です。
今回は各種クラウド サービスのコネクタは使っておらず、組み込みの Utilities のコネクタだけを使っています。
以下のスクリーン ショットのような Utilities のコネクタが用意されています。
各種クラウド サービスのコネクタを用いたフローも容易に作ることができそうで、応用範囲が広そうに思います。
LINE WORKS API 2.0
以下の LINE WORKS API を使っています。
メッセージ(Callback) 受信
https://developers.worksmobile.com/jp/reference/bot-callback?lang=ja
メッセージの送信 - ユーザー指定
https://developers.worksmobile.com/jp/reference/bot-user-message-send?lang=ja
Text
https://developers.worksmobile.com/jp/reference/bot-send-text?lang=ja
Image
https://developers.worksmobile.com/jp/reference/bot-send-image?lang=ja
LINE WORKS の Developer Console での API 2.0 の設定や、Bot の設定については LINE WORKS Developers サイトの記載や、Qiita 内の LINEWORKSタグの記事が参考になります。
Claris Connect
Claris Connect のコンソールで Flow を作成します。
LINE WORKS Bot のメッセージ受信のフロー
Webhook
トリガー用の Webhook を作成します。
生成された URL を LINE WORKS の Bot の Callback URL に設定して、1 度メッセージを送信しておくと、Claris が Post の内容を解析してくれて、以降のアクション作成の際に便利です。
トリガー Incoming HTTP Request
Webhooks のコネクタの Incoming HTTP Request のトリガーを作成します。
作成した Webhook を用いるよう選択します。
受信したメッセージを基にメッセージ返信のフロー
アクション Return random number
Calcurations コネクタの Return random number アクションを使います。
語尾にランダムに「にゃ」「にゃん」「にゃー」などをつけるために、ランダムな数値を生成します。
用意する選択肢にあわせて、数値の範囲を指定します。
アクション Get element by index
Lists のコネクタの Get element by index アクションを使います。
変数から、前のアクションで生成された数値を基に選択します。
語尾の候補を用意します。
前のアクションの数値をキーとします。
アクション HTTP Post request
Webhooks コネクタの HTTP Post request アクションで、LINE WORKS Bot API のリクエストを送信します。
Request URL の botId と userId は、Webhook で受信したリクエストから取り出しています。
Body の JSON data で、送信されたメッセージに、語尾を付加したテキスト メッセージを指定しています。
Header で認証用のトークンの情報を指定しています。
今回、アクションにトークンを直接指定していますが、継続的な運用の場面ではトークンの生成や管理方法は適切に行ってください。
ランダムなネコ画像を取得して、メッセージで送信
アクション HTTP Get request
Webhooks コネクタの HTTP Get request アクションで、ネコの画像の情報を取得
アクション HTTP Post request
Webhooks コネクタの HTTP Post request アクションで、LINE WORKS Bot API のリクエストを送信します。
返信メッセージと同様の POST リクエストです。Body の JSON data は、メッセージ形式を image で指定して、前の手順で取得したネコ画像の URL を指定しています。
フローは以上です。
動作確認
LINE WORKS からメッセージを送ると、Bot からメッセージとネコ画像が送り返されます。