初めまして!
新卒女子のテンション・フツミ(@futsumi_)と申します。
今回は LINE API を利用したチャットボットを作ってみました。以下QRコードかURLから今回作ったチャットボットを使うことができます。
URL:https://line.me/R/ti/p/INCr9_ncq7
※追記:2018/12/30 アカウントを作り直したため、QRコードが変わりました
この記事では
・ LINEチャットボットで使用した画像の配布 (フリー素材として公開しています。使っていただけたら嬉しいです。)
・ LINEチャットボットの使い方
・ アーキテクチャ概要
・ 開発してみた感想
について書いていきます!
今回作ったチャットボットは、簡単に言うと特定のキーワードを話しかけるとその言葉にちなんだ画像を返信してくれるものです。
このチャットボットのためにお正月にちなんだ画像を撮ってみました!フリー画像ですので、自由に使ってください。圧縮前の画像のため、画像サイズが大きいかもしれません。加工しやすいようにコメントなどはカットしています。(以下のurlからもダウンロードできます。URL:https://drive.google.com/drive/folders/1faMN-Ai5Sa6bBdB1e4V1AoIes4nUxLzR?usp=sharing)
1.「餅で来たOL」 キーワード:来た または 餅
2.「悔しくて餅をかむOL」 キーワード:悔しい
3.「鏡餅OL」 キーワード:正月
4.「年賀状親善大使OL」 キーワード:年賀状
5.「尻を叩く人を叩くOL」 キーワード:アウト または テレビ
6.「習字OL」 キーワード:「今年の漢字」
7.「スーツと間違えてウェットスーツで出勤するOL」 キーワード:遅刻
8.「おみくじOL」 キーワード:おみくじ
9.「猪をかわすOL」 キーワード:いのしし または 2019
10.「除夜の鐘OL」 キーワード:除夜 または カウントダウン
11.「日の出OL」 キーワード:日の出 または あけおめ
12.「だるまーキュリーOL」 キーワード:マーキュリー または だるま
13.「スーツと間違えてスーツケースで出勤するOL」 キーワード:出勤
14.「いつものOL」 キーワード:普通
1.「1%の需要に応えたOL」を友達追加します。
1-1.QRコード、またはURLを読み取ります。
QRコード:
URL:https://line.me/R/ti/p/INCr9_ncq7
1-2.「1%の需要に応えたOL」を友達追加します。
2.「1%の需要に応えたOL」を友達との会話に投下します。
(グループラインにも投下できます。)
2-1.友達のラインの右上^をクリックして招待を押す。
2-2.OLで検索し、「完了」を押す。
3.友達と会話をする
キーワードを含めて会話をすると、キーワードにあった画像が送られて来ます。キーワードは「LINEチャットボットで使用した画像」に記載したキーワードです。
今回のLINE bot開発では友人の助言を得つつ、以下のようなかなりシンプルなアーキテクチャを採用しました。
LINE botのライブラリはpythonやjavascriptなどいろんな言語で提供されているのですが、一番親しみやすそうなRubyを採用しました。
インフラについてですが、私はインフラに関する知識が全くなく、今回は画像判別ロジックと画像自体の撮影に工数を集中させたかったため、インフラの知識が無くても利用できるPaaSのHerokuを使いました。画像はDropBoxに保存しています。
LINE bot APIはもちろん無料ですし、Herokuも無料の枠があるので、ほぼ無料でサービスを作って公開できるなんてほんとに良い時代だなあと思いました。ちなみに、この図には載っていませんが、ローカル開発環境にはDockerを使っています。
私は大学ではプログラミングに関する知識どころか
パソコンもまともに操作できていませんでした(いまも怪しいかもしれません笑)。
大学まで学んできたことが技術畑ではなく、プログラミングの勉強も好きではないのですが、友人から「失敗してもいいから、とりあえず何かアプリを作ってみたら?」と中ば強制で話があったことで今回のLINEbotアプリを作ることになりました。
実際に作ってみると、まだまだ技術のことはわからないですが、なんとなく、アプリ開発の流れやアプリの構成・周囲の繋がりなんかがわかってきたような気がします。なんとなくです。
今回はデータベースを使わなかったので、今度はデータベースを使ったサービスを作ってみたいです。
最後まで読んでいただき、ありがとうございます!
もしよろしければTwitterなどでご意見いただけると嬉しいです!!
Twitter :テンション・フツミ(@futsumi_)
※本記事は2018/12/30にnoteに掲載した記事(https://note.mu/futsumi/n/n2d2f15636348)の転載です。