2
0

今日実施する家事をランダムで通知してくれる家事おみくじ

Last updated at Posted at 2024-07-18

家事をおみくじ形式で通知できるアプリを作りたい。

みなさんこんな声を聞いたことはありませんか?

・家庭内での家事の分担が偏っているので、相手にも協力してほしい。

我が家も家事の分担が偏っているので、家庭内での不満を解消するべく、家事をおみくじ形式で通知してくれるような(重い腰を上げる手助けになるような)アプリを作りたい。


<アプリイメージ>
Videotogif.gif

使用環境

・Make
・Google スプレッドシート
・Google Apps Script

アイデア

①.通知したい家事を一覧にしておき、そこからランダムに一つを選択する。
②.選択した家事をラインに通知する。
③.お楽しみ要素としておみくじ機能も搭載する。

実装①:家事を一覧の作成

Google スプレッドシートに通知したい家事と運勢の一覧を作成する。
image.png

実装②:家事一覧からランダムに一つを選択する。

実装①で作成した一覧からランダムに1行分運勢と家事の情報を取得させる。
スプレッドシート状の行番号を配列(seq)として定義して、random関数でランダムに番号を取得する。

  //家事番号
  const seq = [2,3,4,5,6];

  //送信する家事をランダムにピックアップ
  const randomnum = seq[Math.floor(Math.random()*seq.length)];
  
  unsei = sheet.getRange(randomnum,2).getValue()
  housework = sheet.getRange(randomnum,3).getValue()

実装③:LINEにメッセージを通知する。

Google Apps ScriptでGoogle スプレッドシートからメッセージを取得し、Makeを経由してLINEに向けて発信する。

サンプルコード
function housework() {
  //■テーマ■
  //家事をおみくじみたいにランダムにラインで送信

  //makeのwebhookのURL設定
  const url = "webhookURL";

  //アクティブなシートを取得
  const sheet = SpreadsheetApp.getActiveSheet();

  //家事番号
  const seq = [2,3,4,5,6];

  //送信する家事をランダムにピックアップ
  const randomnum = seq[Math.floor(Math.random()*seq.length)];
  
  unsei = sheet.getRange(randomnum,2).getValue()
  housework = sheet.getRange(randomnum,3).getValue()

  console.log(unsei);

  if (unsei == "大吉"){
  Sendmessage = "おめでとう!今日の運勢は" + unsei + "だ!\n"
              + housework + "をして最高の一日にしよう!"
  } else if(unsei == ""){
  Sendmessage = "残念!今日の運勢は" + unsei + "だ!\n"
              + housework + "をして運気を上げよう!"
  } else {
  Sendmessage = "今日の運勢は" + unsei + "だ!\n"
              + housework + "をしてさらに運気を上げよう!"
  }

    console.log(Sendmessage);

  //makeを使ってLINEにメッセージを通知
  UrlFetchApp.fetch(url + encodeURIComponent(Sendmessage));

}

改良点

・通知をLINE等、スマホから直接出せるようにしたい。
・完了したら完了通知を返送できるようにしたい。

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