作品名を入力すると青空文庫のURLを送ってくれるLine Botを作ってみた
はじめまして。
今回、LINE DevelopersとMakeを使用して、
作品名を入力すると青空文庫のリンクを回答するLINE Botをノーコードで作成してみました。
「走れメロス」とLINEに入力すると「走れメロス」が掲載された青空文庫のURLを返します。
ついでにおしゃれカフェの紹介記事も。
文系のくせに国語の授業が苦手で、ほとんどの文学に触れないまま社会人になっていました。
「銀河鉄道の夜」「人間失格」「吾輩は猫である」etc
タイトルは知っているけど、読んだことのない名作は数知れず。
特にこのままじゃいけない!と大昔に買った「銀河鉄道の夜」は、
積読として今も実家の本棚の飾りになっており、実家に帰るたびに罪悪感を覚えます…
今更、教科書に載っているような有名作品を本屋のレジに持っていくのは恥ずかしい。
そして積読だらけのkindleライブラリに更に追加するのも抵抗がある。
そんな自分やあなたに贈りたい。LINEで簡単青空文庫検索!
教養あふれる素敵な大人になるのは、今からでも遅くないはずです!
ということで、
プログラミング歴0年の私でも1日程度で完成させることができたので、
この記事で紹介していきます。
青空文庫とは、パブリックドメイン化した作品及び著者が許諾した作品を、テキストまたはXHTMLでインターネット上に電子掲載しているウェブサイトである。
Makeの使用モジュール
今回Makeで使用したモジュールとシナリオは以下の通り。
- LINE: Watch Event
- HTTP: Make a Request
- JSON: Parse json
- LINE: Send a Broadcast Message
シナリオ作成のポイント
1. 青空文庫のデータ検索にあたっては、青空文庫APIサーバーをお借りしました。
2.追加パラメーター「title」で作品名のフィルタをかけることができるので、
Query Stringで「title」を指定し、LINEで入力されたテキストで作品名検索できるよう設定。
3. 「 Send a Broadcast Message」のモジュールで以下をアウトプットするよう設定。
- 作者名
- 作品名
- HTMLのURL
ここの処理でLINEのアウトプットは正常であるにも関わらず、エラーでシナリオが停止する事象が稀に発生。
「add error handler」からエラーを無視して成功処理とするエラーハンドリング「Ignore」を設定しました。
4. 「分からない」とLINEに入力した場合のみ、青空文庫の総合インデックスを回答するよう分岐を設定。
ついでに読書時におすすめなアロマ紹介した記事をレコメンドしてくれます。
さいごに
これで、学生の頃、まったく文学に触れずに過ごしてしまった後悔を青空文庫検索Botで断ち切れるかも?
作品のURLのついでにおすすめのカフェやアロマを紹介した記事をレコメンドするようにしています。
(本当は現在位置を取得し近くのカフェを表示するAPIを追加したかったが不特定多数が使用する前提のBotでは合わなさそうなので諦めた。
いいものがあればぜひ教えていただきたいです。)
ここを自社が作成した記事に変えるなどして業務に転用することも可能だと感じました。