自動化厨のプログラミングメモブログ │ CODE:LIFE

Python/ExcelVBA/JavaScript/Raspberry Piなどで色んなことを自動化

Rakuten miniとMacroDroidを使って登下校時の通知システムを0円で作る

f:id:maru0014:20210519230606p:plain 誤家庭の子育てITネタです。

メール通知だけの簡単バージョンとAlexaに喋らせる誤家庭バージョンの作り方を書いてみました。

背景

4月から娘が小学校に行き始めました。最初は保護者が一緒に登校して、帰りは先生方が付いて下校するのですが今月からは子供だけで下校することに。

学校までは遠くもないですが、やはり心配ということで登下校時の通知システムを構築しました。

  • 背景
  • MacroDroidとは
  • メール通知マクロを設定
    • 登校メール
    • 下校メール
  • 聞かれそうな質問に予め答えておきます
  • 誤家庭向けのAlexa通知システム
    • 各ノードの設定
    • MacroDroidの設定
    • 登校通知
    • 下校通知
  • 数日動作させてみての感想
続きを読む

プライベートチャンネル自動生成 GASでSlackスラッシュコマンド(後編)

前回、GASでSlackのスラッシュコマンドのテストを行いました。 無事に応答が返ってくるのも確認できたので実際にプライベートチャンネルを作成する処理を書いていきます。 codelife.cafe

動作概要の確認

  1. スラッシュコマンド /soudan を実行
  2. プライベートチャンネル private_soudan_<ユーザ名>を生成
  3. チャンネルにコマンド実行ユーザとスプレッドシートで指定したユーザを追加
  4. チャンネル作成完了のメッセージを返す
  5. エラーが発生した場合はエラーコードを返す

こんなかんじで動きます。

  • Slack App の設定
    • Slash Commandを変更
    • OAuth Tokenを取得
    • 権限スコープを設定
  • Google Apps Script を作成
    • getSlackUsers() ユーザ情報を一括取得
    • createSlackGroups(channel_name) プライベートチャンネル作成
    • inviteSlackUser(channel_id, user_id) チャンネルにユーザを追加
    • getInviteSlackUsers() 参加ユーザリストを取得
    • doPost(e) SlashCommandからのリクエスト受付
  • 検証
    • エラー処理の確認
  • まとめ
続きを読む

相談用プライベートチャンネル自動生成 GASでSlackのスラッシュコマンド(前編)

shanaiho.smarthr.co.jp 会社の同僚からこんなのをやりたいとURL付きのチャットが来たので、GASで実装できるか検証してみます。

最終目標

  1. 所定のスラッシュコマンドを実行する
  2. プライベートチャンネルを生成
  3. プライベートチャンネルに実行ユーザと固定ユーザを追加
  4. チャンネルの案内メッセージを返す

というのを作るんですが…そもそもSlackのSlash Commandを作ったことがないので前編ではどんな風にGASに対してリクエストを送信できるのかを実験。 まずはSlash Commandを実行すると送信したリクエスト内容をそのまま返すだけの機能を作ってみます。

  • Google Apps Script を作成
  • Slack Apps を作成
  • Slash Commands を作成
  • アプリをWorkspaceにインストール
  • 実験
  • まとめ
続きを読む

Node-RED×Yahoo気象情報API×Slack×Alexaで雨雲通知システムを作る

f:id:maru0014:20201223232055p:plain この記事は UG Advent Calendar 2020 24日目の記事です。

早速ですが記事タイトルの動作イメージからご紹介しましょう。

動作イメージ

Yahoo気象情報APIを15分毎に参照して自宅の座標に一定数以上の降水量予測が検知された場合、Slackのhome_speakerチャンネルに予測日時と予測降水量を投稿しつつ、Alexaに読み上げてもらうというものです。

Slack通知はこんなかんじ。実験なので過去の日時になっていますが基本は現在日時以降の予測情報からメッセージを生成します。

f:id:maru0014:20201223232223p:plain
Slackへの通知イメージ

続きを読む

毎朝GASでGoogle Tasks(ToDo)を取得して期限切れタスクをSlackで教えてもらう

f:id:maru0014:20201222211706p:plain

この記事は UG Advent Calendar 2020 23日目の記事です。

カレンダーやGmailの横にある Google Tasks はシンプルかつ使いやすい。

でもここに書いたは良いけど定期的に棚卸ししたりできているかというと...。

ということでGASで取得してスプレッドシートにサマリーを作成、期限超過していた場合は再度期限を設定してSlackに通知するシステムを作ってみる。

続きを読む