はじめに
あるQiita記事を参考にLINE Botを作りました。
でも、どうせだったらオリジナルのLINE Botに改造しようと挑戦したところ、残念なBotができた話です。
※2019/11/12追記:
物知りBotになりました ↓
fugaしか答えない残念なBotに8万語の辞書を持たせてインテリBotにした話
作りたかったもの
なんでも知ってて質問すると教えてくれる物知りLINE Botを作るつもりでした。
例えば、「山?」と質問すると、山に関するWikipediaの簡易版みたいな情報を返してくれる、そんなBotが作りたかったんです。
考えた仕組み
物知りLINE Botは、『言葉の意味を教えてくれるAPI』と『LINE Bot』の2つをつなぎ合わせれば、作れそうと考えました。「これくらいならできるかな」と、軽く考えたのは甘かった。
結果
完成した残念なBOTを紹介します。このように、何を聞いても fuga
しか答えません。
fuga
しか答えない原因は、②のAPIにフィルタの機能がないから。フィルタ機能を実装することができなかった。あぁ~
作り方
誰も興味がないと思いますが作り方を紹介します(ほぼリンク集です)
①LINE BOTを作成
こちらの記事を参考にさせて頂きました。この時点で、オウム返ししてくれるBOTをゲット!
②API作成
fuga
しか答えない残念なAPIを作ります。APIは、ラズパイ上に構築するのでラズパイのセットアップも必要です。
②-1 ラズパイにOSをインストール
今回は、Raspberry Pi 3 Model B
を使いました。OSバージョンはこれです。
$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 10 (buster)
Release: 10
Codename: buster
$ uname -a
Linux raspi100 4.19.79-v7+ #1273 SMP Fri Oct 11 18:13:16 BST 2019 armv7l GNU/Linux
②-2 ラズパイOSの初期設定
ロケールの設定とかはこちらを参考にしました。
②-3 DjangoでAPIを作る
Djangoを使ってAPIサーバーを作りました。ただし若干変更しました。
-
コマンド変更
-
pip
->pip3
-
python
->python3
-
tutorial2/settings.py
変更 -
[変更前] ALLOWED_HOSTS = []
-
[変更後] ALLOWED_HOSTS = ["192.168.3.6"]
-
※ラズパイのIPを登録
-
サービス起動コマンド変更
-
[変更前]
python manage.py runserver
-
[変更後]
python3 manage.py runserver 192.168.3.6:8000
③APIとLINE Bot連携/④APIからの情報をLINEメッセージで送信
『①LINE Botを作成』で参考にした記事の補足に、他APIと連携したサンプルもあります。このスクリプトを拝借させていただきました。
さいごに
オウム返しするBotをバージョンアップしようとしたら、fuga
しか答えない残念なBotに育ってしまいました。
ただ、APIにフィルタの機能を追加できれば、物知りBotに生まれ変わるかも?!と希望を持っています。というわけで、挑戦はまだ終わってない、劣勢だけど負けてない! たぶん
※追記※
少し賢くなりました →fugaしか答えなかったLINE BOTが少し物知りになりました