ゆっくり開発

開発したい時に開発するブログ

Repl-AI を使って Line bot を作ってみた

やりたいこと

  • 特定の言葉に反応する簡単な Line bot の作成
  • 作成した機能が常時稼働するようにする

手順

  1. Repl-AI で受け答えの処理(API)を作成
  2. Line bot を作成
  3. Repl-AI と Line bot を連携

Repl-AI で受け答えの処理(API)を作成

Repl-AI とは,プログラム知識なしで、AIチャットボットを作成できるWebアプリです.
具体的に,以下のようにビジュアルプログラミング言語を使ってメッセージの受け答えのルールを作成できます.

f:id:uttnaoki:20180711234453p:plain

上記のルールでは,ユーザの「おはよう」「こんにちは」に対して,同じ言葉を返すことを定義しています.

Line bot を作成

まず,Line Developers に自分の LIne アカウントでログインする.
新規プロダイバーを作成し,新規チャンネルの作成から Message API を作成する.

f:id:uttnaoki:20180711225045p:plain

  • この時点でLineで友達登録でき,メッセージを送ることができる.
  • 上の画像のチャンネルをクリックした先のページにQRコードがあるので,それから友達登録できる.
  • 上の画像ではすでにアイコンが設定されているが,チャンネル作成直後は当然アイコンが設定されていない.

Repl-AI と Line bot を連携

Repl-AI と Line bot を連携させるために, Repl-AI の方に以下の項目を入力する必要がある.

  1. ID
  2. シークレット
  3. トーク

f:id:uttnaoki:20180711223916p:plain:w300

IDとシークレットについては,チャンネル(Line Dev側)作成時に定義されているが,トークンについては Line Dev 側で発行する必要がある. 発行後,指定時間内で有効期限が切れるので,トークン発行後はすぐに Repl-AI 側に入力しないといけない.(連携後にトークンの期限が切れることは問題ない)

また,上の画像のフォームについて,「2. シナリオ」を設定すると,「3. URL」にURLが生成されるので,これをコピーし,連携ボタンを押す.

コピーしたURLは Line Dev 側のチャンネルに入力する項目があるので,そこに入力する.

連携結果

以下の様に,「おはよう」と「こんにちは」に反応している.
最初に NOMATCH が出ているのは,連携前に発言したため.
Repl-AI で定義できていないユーザの発言については画像の通り,NOMATCH が出力される.

f:id:uttnaoki:20180711232013p:plain:w300

備考

自動応答メッセージ

Line Dev の方で「自動応答メッセージ」を利用しないに設定しておかないと,何を話しても以下のようなメッセージが出力される.
これは Line bot の仕様なので,Repl-AI 側では対処できない.

f:id:uttnaoki:20180711232426p:plain:w300

グループトーク

おそらく,Line bot は Slack bot と違い,複数人のチャット(トークルーム)に対応していない.(調査不足の可能性有)
bot との 個別トークで適切に応答する状態でも,他のアカウントを招待したトークルームでは応答してくれない.

展望

Repl-AI 側でユーザから入力してきたワードを覚えたり,複雑な応答ルールを作成したりできるみたいなので, そのあたり使ってみたい.