Slackで授乳記録

少し前に子どもが生まれました。
控えめに言って天使ですね。

妻の入院中は授乳をした時間、おしっこやうんちをした時間などを紙の表に記録していた(授乳表というらしい)のですが、退院後も記録しなければいけないようです。

我が家ではSlackで記録することにしたので、その方法を書くことにしました。

背景

次の2つの要件を満たすような(デジタルな)授乳表を欲していました。

夫婦で共有できる授乳表アプリがあるらしいのですが、要件を満たすアプリを探すのは大変だったので、普段から使用しているSlackで記録を付けることにしました。

やったこと

括弧内は既に実施していた設定です。本記事では詳細を割愛します。

IFTTTのButton widgetを作成

以下の4つのButton widgetレシピを作成しました。

現在(2019/12/14時点)では、レシピを公開できないので、夫婦それぞれのスマホで同じレシピを作りました。

  1. IFTTTアプリを開き、Get moreをタップする
    Get more

  2. Make your own Applets from scratchの右にある+をタップする
    +

  3. Thisをタップし、Button widgetを選ぶ
    This Select actionではButton pressを選ぶ。
    (1個しかない)

  4. Thatをタップし、Slackを選ぶ
    Select actionではPost to channelを選ぶ。
    (こちらも1個しかない)

  5. 値を変更する
    fields
    私は以下のように設定しました。

フィールド
Which channel? Channels, <投稿したいチャンネル名>
Message {{OccurredAt}}:授乳開始
Title 授乳開始
Title URL {{ShareURL}}
Thumbnail URL {{LocationMapImageURL}}

なお、授乳開始の部分を残りのミルクなどに変更し、計4つのレシピを作りました。

  1. ホーム画面に設置
    レシピ作成後、作成したレシピの歯車をタップすると手順5のような画面が表示される。
    You may use this widget on your homescreen.の右にあるAddをタップすると、ホーム画面にウィジェットが設置できる。
    add widget

運用

4つのウィジェットをそれぞれのホーム画面に設置し、イベントが発生したときにタップしています。

homescreen

投稿されるメッセージは以下のような感じ。

message

ミルクについては、飲んだ量も記録する必要があるので、タップ後に投稿されたメッセージのスレッドに手動で数値だけ投稿するようにしています。

thread

授乳記録のパーサ作成

Slackのログをパースして表の形に整形します。

ウィジェットで投稿したメッセージを含むログファイルを引数に与えると、1日ごとに表を出力するパーサを作成しました。

table

パーサは私の環境(ログの保存方法や出力形式など)しか想定していないため、汎用性が全くないです。
そのため、需要があれば公開しようかなと考えています。

ちなみに、私の環境ではGoogle Driveのスプレッドシートに、チャンネルごとにシートが分かれてログが保存されています。
IFTTTのメッセージが保存されているチャンネルのシートをtsv形式で出力し、そのtsvファイルをパースしています。

おわりに

「簡単に記録を付けられて、かつ、その記録を共有できないか」という会話から、その場で思いつきで作ったのですが、今のところ大きな不満なく運用できています。
授乳表の形へのパース部分は手動ですが、授乳表が必要なのは検診のときくらいなので、自動化は考えていません。
自動化の方が大変そうですし。