見出し画像

LINE botでちょっと便利に、ちょっとかわいく

新卒でIT系の会社で働いていた頃、Qiitaとか技術系のブログで「家庭内Slackを作ってみた!」「Slack botにGoogleカレンダーの予定通知させてみた!」みたいな記事を読んでは、ひそかにわたしもやってみたいなあと思っていた。仕事でもSlack使ってたし。

だけど当時のわたしにはそれを共有する相手はいなかったし、退職して全くの別業種のお仕事に就いてプログラミングからも離れたので、わたしのおうちSlack計画が実現することはなかった。

それから約3年。先日彼と「なんかアプリとか使って予定共有してみよう」という話になった時に、頭の奥に追いやられていたおうちSlack計画の存在を思い出したのでやってみることにした。

無事完成したので備忘録です。

ふたりのスペック

・わたし
元エンジニア(見習い) JavaとCはちょっとだけ触ったことある…
出来ればあんまりスマホにアプリ増やしたくない。めんどくさがり。

・彼氏
非エンジニア
「アプリとか何を使うかは任せるよ〜」だそうな。

おうちSlack計画と言ったものの、そもそも今のわたし(勿論彼も)Slackを使っていない…

ふたりの普段の主な連絡手段はLINE。
予定管理は紙の手帳とiPhoneの標準カレンダーなどを併用。これまでは何か予定があることを共有するときはLINEや口頭で伝えるのみでした。

色々調べてみて、予定共有はGoogleカレンダーで、botについては普段使ってるLINEでもどうにか出来そうなのでやってみることに。Google Apps Script、存在は知っていたけど使ったことなかったからちょっとわくわく。そもそもコード書くのも久しぶり。(8割コピペだけど)


やりたいこと

・各自のGoogleカレンダーの予定をLINEから確認したい
・ついでに天気予報教えてほしい
・ついでに使ってる路線の遅延情報も教えてくれたら便利
・ついでに適当に会話してくれたらかわいい

そもそも本題の「なんかアプリとか使って予定共有してみよう」の部分はGoogleカレンダーを共有するだけで解決してしまうわけですが。せっかくだからLINEで「今日の予定」とか「明日の予定」とか話しかけると予定が確認出来たらいいなと。

あとは天気予報とか電車の遅延とか、いちいち別のアプリ開いて確認するのが面倒だったのでこれらの機能も追加。朝支度してるときに今日の天気と気温だけでも簡単に把握したい。(あれ、これももしかしてLINEのニュースタブで出来てしまう…?まあいいや。)

・ついでに適当に会話してくれたらかわいい

これに関しては完全にわたしの願望。公式アカウントに話しかけたらランダムに返事してくれるやつ、かわいいからついつい話しかけちゃう。

というわけでとりあえずはこれらの4つの機能を備えたbotを作ってみます。


準備編

bot作るにあたって必要な設定やGoogle Apps Scriptの使い方はこちらを参考にしました。

超ざっくりですが

1. LINE Developersにログイン
2. Messaging APIを開く
3. LINE側でbot作成に必要な設定をする
4. Google Apps Scriptにコーディング
5. GASでWebアプリケーションとして公開
6. LINEのMessaging APIから実行

ということらしい。
実際にコードコピペして実行してみて、botがオウム返ししてくれるようになったら、もうそれだけでめちゃくちゃ愛おしくなった。

カレンダー編

カレンダーについてはbotに話しかけることで以下の3つができるようにしました。

・わたし、彼、共有の3つのカレンダーの予定が見られる
・今日、明日、7日間の予定を確認できる
・共有カレンダーに予定を追加できる

実際に出来上がったのがこんな感じ。

画像1

(テスト用に入れた予定のタイトルがひどい…)
ちなみに予定がない日は「予定はありません」になる。

「今週」と話しかけると1週間分の予定を教えてくれる。

画像2

スクショ取り忘れたけど「追加」と話しかけて、開始日時→終了日時→予定タイトルを順に入力すると共有のカレンダーに予定を追加してくれる。

参考にしたのはこちら。


天気予報編

「天気」と話しかけると東京の天気を教えてくれる。

画像7

16時以降は明日の天気、それまでは今日の天気。雨降りそうだったら教えてくれるようにしたかったのだけど、今回使っているWeather Hacksのお天気Webサービスにはどうやら降水確率の項目がないらしい。

参考にしたのはこちら。


電車の遅延情報編

「電車」と話しかけると毎日使ってる路線の遅延情報を教えてくれる。

画像5

ちなみに「帰る」「終わった」と話しかけるとこんなメッセージが。

画像6

まだ電車が遅延してる場面に遭遇してないので、実際遅延したときにどうなるのかは未検証。鉄道遅延APIを使っていて、遅延情報がある時は「〇〇線が遅延しています」とお知らせしてくれるはず。


雑談編

無意味だけどこれがいちばん気に入っている。

画像3

彼曰く「わたしと話してるみたいな気持ちになる。」らしい。
このbotの返答全部わたしが考えて入力してるからそりゃそうか、という感じですが。たまに奇跡的に会話が噛み合うとちょっと嬉しい。

スプレッドシートに返答が70パターンくらい入ってます。季節っぽいメッセージも入れてるから定期的に更新したいな〜


こちらはこの記事を参考に。


これで冒頭で書いたやりたいことは全部実現!わーい!
そして「おはよう」「いってきます」と話しかけるといっぺんに全部答えてくれます。

画像8

毎朝勝手に通知してくれるようにするかどうかは今後検討。


おまけ

今回のbotを作るにあたってGASとLINE Bot関連の記事を読み漁ってたらこんなのを発見。

転用して冷蔵庫の中身を確認するbotも別で作成。

画像4

先に作ったbotと一緒にグループラインに入れようとしたけど失敗…

どうやら複数の公式アカウントをグループ・複数人チャットへ招待することは出来ないっぽい。冷静に考えたらbot同士で永遠に話し続けてしまうからか。無限ループじゃんね。



というわけでほんのちょっと生活が便利になる、ちょっとかわいいbotを作ってみました。ちょっとした達成感と嬉しさがあふれて、昨日から暇があればひとりで自作のbotに話しかけ続けてます。奇行。

またなんか追加したい機能を思いついたらアップデートしようと思います。

この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
手洗いうがい大事です!
14
東京で暮らす日常 や 好きなもののこと 海が好き 94年生まれ

こちらでもピックアップされています

LINE
LINE
  • 6本

Google Apps Scriptを使用したLINEBOTの活用事例を紹介しています。

コメント (1)
冷蔵庫の中をLINEで追加したり、削除出来たりするのは、ナイスアイデアですね!!僕も真似しようかな
コメントを投稿するには、 ログイン または 会員登録 をする必要があります。