4
2

More than 1 year has passed since last update.

Claris Connect で LINE WORKS ネコボット作ったにゃー (LINE WORKS API 2.0)

Last updated at Posted at 2022-07-17

Claris Connect で かんたんに LINE WORKS の Bot 作成

Qiita Engineer Festa 2022 参加記事です。

Claris Connect で LINE WORKS の Bot を作ってみました。
LINE WORKS の API 2.0 のトーク Bot API を使ってます。

l_147288799_43_d4b7d5297fd355ac82d93d2549b3e145.png

  • 話しかけると、語尾にランダムに「にゃ」「にゃん」「にゃー」などをつけて返事するにゃー
  • ついでにいろいろなネコの画像を送ってくる

Claris Connect は、編集画面がシンプルでわかりやすいです。初めてでも操作に戸惑うことがなかったです。
試用版にサインアップして、手探りで操作すること 1 時間未満で、この Bot はできました。

l_147288799_44_c30bf41d6f1ddd2a654504cc151a1782.png

そこから、楽しくなって、さらに色々試してみていたら、API リクエストの上限のメッセージが表示されるようになりました。試用版は Developer プラン相当のようで、500 requests/月が上限のようです。

なお、作成途中でのテストが行いやすく、エラーの確認も容易です。

l_147288799_41_d51347f6fc24d1950d09368e933cc330.png

今回は各種クラウド サービスのコネクタは使っておらず、組み込みの Utilities のコネクタだけを使っています。
以下のスクリーン ショットのような Utilities のコネクタが用意されています。

l_147288799_24_7315874ce3db6d4bf330930d461363c9.png

各種クラウド サービスのコネクタを用いたフローも容易に作ることができそうで、応用範囲が広そうに思います。

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 を作成します。

l_147288799_20_62a363a0c213e30a0d68e05a3ed5bb2c.png

生成された URL を LINE WORKS の Bot の Callback URL に設定して、1 度メッセージを送信しておくと、Claris が Post の内容を解析してくれて、以降のアクション作成の際に便利です。

l_147288799_22_59e1a336273a30fe18975bcbfd98d43b.png

トリガー Incoming HTTP Request

Webhooks のコネクタの Incoming HTTP Request のトリガーを作成します。

l_147288799_40_8c209c6017729be6e5a867989c032924.png

作成した Webhook を用いるよう選択します。

l_147288799_23_acb268e71a3b012cd8ee1cd80b17c8d9.png

受信したメッセージを基にメッセージ返信のフロー

アクション Return random number

Calcurations コネクタの Return random number アクションを使います。
l_147288799_25_06b36525e76297f04768a9f83f0c5061.png

語尾にランダムに「にゃ」「にゃん」「にゃー」などをつけるために、ランダムな数値を生成します。

l_147288799_26_63cc5cee509b1f554787783781fefda3.png

用意する選択肢にあわせて、数値の範囲を指定します。

l_147288799_27_b1003c214941bdd9a3dca1e457ed6bda.png

アクション Get element by index

Lists のコネクタの Get element by index アクションを使います。

l_147288799_28_6db8d37fae497344699cf149fe9fdebc.png

変数から、前のアクションで生成された数値を基に選択します。

l_147288799_29_9fbb282c56543d11cbbf93fffbcd250e.png

語尾の候補を用意します。

l_147288799_30_aef31d4d449cda91e39d871e55f7c1b1.png

前のアクションの数値をキーとします。

l_147288799_31_448e6cc4e6a93921a2d350bfde299e1a.png

アクション HTTP Post request

Webhooks コネクタの HTTP Post request アクションで、LINE WORKS Bot API のリクエストを送信します。

l_147288799_32_95a7cb5da75fb59b5381c42ab05b837f.png

Request URL の botId と userId は、Webhook で受信したリクエストから取り出しています。

l_147288799_33_30ae1aa76794339b611457aa9d270307.png

Body の JSON data で、送信されたメッセージに、語尾を付加したテキスト メッセージを指定しています。

l_147288799_34_a0cd0f7fd70cb880f1b4df76e6ae1642.png

Header で認証用のトークンの情報を指定しています。
今回、アクションにトークンを直接指定していますが、継続的な運用の場面ではトークンの生成や管理方法は適切に行ってください。

l_147288799_35_eba381fc6d8916e65555b1e9308a9bfb.png

ランダムなネコ画像を取得して、メッセージで送信

アクション HTTP Get request

Webhooks コネクタの HTTP Get request アクションで、ネコの画像の情報を取得

l_147288799_36_04fd50004007df2ac8b9eab30a8bda1f.png

アクション HTTP Post request

Webhooks コネクタの HTTP Post request アクションで、LINE WORKS Bot API のリクエストを送信します。

l_147288799_37_d33fb333da05a54f24147468c7505ee5.png

返信メッセージと同様の POST リクエストです。Body の JSON data は、メッセージ形式を image で指定して、前の手順で取得したネコ画像の URL を指定しています。

l_147288799_38_c6186fece88f6f51523b888758fa101c.png

フローは以上です。

動作確認

LINE WORKS からメッセージを送ると、Bot からメッセージとネコ画像が送り返されます。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2