2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【改良版】共感と励ましで継続を!毎朝話しかけてくれるアンガーログBotに進化

Last updated at Posted at 2023-08-05

こんにちは。
デジタルの勉強を始め、手にした知識を駆使して 「自分のイライラをコントロールしたい!」 とアンガーログをつけられるBotを作成してみました。
前回、対話形式でログを記録するところまでは成功!
今回は三日坊主で終わらないために、少し機能を追加しました。

寄り添ってくれる感、増し増しに。

絶対に三日坊主で終わらせたくない!

前回の記事でアンガーログBot作成の経緯や作り方を書いています。
今回はその改良版になります!

継続が苦手な私。イライラの記録を一人で黙々とつけ続けるのは無理…。
励ましや共感があれば、続けることができるのでは!?と今回の改良に臨みました!

前回のBotは
1.イラッとした出来事を話しかける
2.Botさんが記録&返信してくれる
3.怒りレベルを伝える
4.Botさんが記録&返信してくれる

と、アンガーログをつける部分を作成しました。

今回は
0.毎朝、「ログがんばろー」メッセージを送ってくれる
1.イラッとした出来事を話しかける
2.Botさんが記録&返信してくれる(ランダム)
3.怒りレベルを伝える
4.Botさんが記録&返信してくれる(ランダム)

と、本当に会話して共感してくれているっぽさを増して
継続するために支えになりそうな部分を追加修正しました。

プッシュ通知とランダム設定

修正した部分をご紹介していきます。

使用したツール

  • Line Deveropers
  • Make(旧integromat)
  • Googleスプレッドシート

1.毎朝の「おはよう、がんばろうね」LINEの設定

とっっっっても簡単でした!
Makeで別シナリオを作成。
image.png
「Send a Push Message」このモジュール1つだけ(笑)
これで毎朝6:00に「おはよう、がんばろうね」LINEが届きます^^

LINEスタンプのIDは👉こちらから👈

2.会話っぽく、返信の文章をランダムにする設定

1つめの相づち、2つめの相づちをそれぞれ何パターンか作成してその中からランダムに返信してもらいます。

2-1.返信のパターンをスプレッドシートで作成

A列の メッセージの種類 に1つめの相づち か 2つめの相づちかをそれぞれ「1」「2」として入力。
B列の メッセージの内容 に相づちとして返信してほしいメッセージを入力しておきます。

2-2.ランダムに返信してもらうための「?????」なモジュール

ここからが難題でした…。
今でもしっかりは理解してません💦
でも、参考記事を見て組み立ててみると完成したんです…!!!

ありがとうございます!!!!!!!!

メインシナリオの全体像はこうなりました。
image.png
①イラッとした出来事を聞いて、ランダムに共感の返信をくれる。(&スプレッドシートに記録)
②怒りレベルの数字をスプレッドシートに記録。
③怒りレベルを聞いて、ランダムに労いの返信をくれる。

①と③のルートでメッセージをランダムに送ってもらうために使用したが
Google Sheets Array aggregator Tools の3つのモジュールです。

最初にGoogle Sheetsの設定です。(※①、③ルートの最初のモジュールです。)
image.png
フィルターでメッセージの種類を指定します。
条件に「Equal to」を選択し①ルートは1、③ルートは2と指定します。

次にArray aggregatorの設定です。
image.png
このモジュールが何者なのかまだよく分かっていません…。
が、設定内容は上図の通りです。
ルート①も③も全く同じ設定です。

次はToolsの設定です。
image.png
こちらもルート①と③は全く同じ設定です。
「Variable Value(変数値)」の欄に数式のようなものを入力します。
ほぼ意味は理解しておりません^^;写しただけです^^;
でもこれでランダムにメッセージを返してくれるんです!すてき。
数式(?)入力時に出てくる補助画面のタブを色々切り替えると必要なものが揃います!

わかんないなりに調べてみたこと

image.png

シナリオ完成後、Run Oneceすると各モジュールがどのように動いたかを🔍マークから確認することができます。
その様子が上図です。
全然分かりませんが、
Arrayはプレッドシートの内容を「配列」とやらに変換してくれている…っぽい…?
という理解で留まっております…💦
そしてToolsで相づちが○種類あるうちの△種類目を選んだよ!
という結果を返してくれているような気がします…笑
そんな理解でもシナリオは動かせました!すごい!笑

2-3.その他のモジュールは前回の設定から変えていません!

その他使用モジュールの詳細設定は前回記事をご参照ください!

ごめんなさい、1カ所だけ変えていました💦

ルート①、③ともにSend a Reply Messageの赤枠内だけ変更しています。

これで ランダムに返事を返してくれます^^
パターンはありますが、会話してくれてる感じがして自分では満足!
イライラしているときにはこんな共感でも若干心が落ち着きます…(笑)

3.おまけ スプレッドシートに記録される日付、日本時間にしたい!!

アンガーログなので、日時もスプレッドシートに記録したいと考え、改良前はA列にTimestampを記録するよう指定していました。
しかし…日本時間じゃない!!!表記も見慣れない!!

送信日より9時間前(つまり、グリニッジ標準時)が記録されてしまいます…。
こんなの、振り返ったとき見辛すぎます…。調べて修正してみました!

image.png

①ルートの2回目登場ののGoogle Sheetsモジュールがアンガーログの記録を指示しているので、この中身を少し修正します。

image.png

A列への記録内容の指示を図の通りに変更します。入力時に出てくる補助画面のタブでカレンダーマークを選ぶとformatDatenowを入力できます。
この内容で設定すると…

見慣れた表示になりました!!!時間も…

image.png

日本時間になっています!!!! やったぁ^^

タイムゾーンはここから探しました!!

もう1個だけやりたかったこと…

自分の思い描いていたように作っていくことができ大満足です!!!
ただ、1つだけ心残りが…
記事を見ていただいた方より 「数字の入力はクイックリプライを使ってみると良いかもです」 とアドバイスをいただいており、やってみる気満々でした!!
1~10までの数字を入力するより、ボタン1つタップで済むなら簡単ですもんね!!
しかし…調べてみても全くちんぷんかんぷん…。
サンプルコードは出てくるのですが、それをどこに入れれば良いのか全く分かりません…(; ;)
今回は泣く泣く断念…。
もっと勉強をして、使い方を習得したら実装してみようと思います!!

ここまでお付き合いいただきありがとうございました^^

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?