家事をおみくじ形式で通知できるアプリを作りたい。
みなさんこんな声を聞いたことはありませんか?
・家庭内での家事の分担が偏っているので、相手にも協力してほしい。
我が家も家事の分担が偏っているので、家庭内での不満を解消するべく、家事をおみくじ形式で通知してくれるような(重い腰を上げる手助けになるような)アプリを作りたい。
使用環境
・Make
・Google スプレッドシート
・Google Apps Script
アイデア
①.通知したい家事を一覧にしておき、そこからランダムに一つを選択する。
②.選択した家事をラインに通知する。
③.お楽しみ要素としておみくじ機能も搭載する。
実装①:家事を一覧の作成
Google スプレッドシートに通知したい家事と運勢の一覧を作成する。
実装②:家事一覧からランダムに一つを選択する。
実装①で作成した一覧からランダムに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等、スマホから直接出せるようにしたい。
・完了したら完了通知を返送できるようにしたい。