見出し画像

Notion のデータベースから体重記録を読み込み Slack に通知する Python スクリプトを書いた

タイトルまんまである。Notion の体重記録を読み込み、グラフを作成して Slack に通知する。

動作イメージ

使用法


1. Notion に体重管理用データベースを作成する

Notion の適当な DB に Date プロパティ(日付)と Weight プロパティ(数値)を作成する。タイトルは特になくてもいい。

2. 動かしたいマシンに clone して設定ファイルの作成を行う

GitHub の README を読みながら設定等を行う。config.ini ファイルの作成には Notion のデータベース ID、API 連携用トークン、Slack のチャンネル ID、API 連携用トークンが必要となる。それぞれの取得法は適当に検索すれば出てくるはずなので君たちの目で確かめてくれ!

3. 動作させる

weight-manager ディレクトリ上で(もしくは PYTHONPATH が通っていればどこでも)コマンドを実行する。この時、コマンドの引数として出力したい月もしくは年を指定する。

# 月間グラフ
python3 -m weight-manager 2024/04

# 年間グラフ
python3 -m weight-manager 2024

通知自動化(オプション)


GitHub の README にも書いてあるが、自分はこのスクリプトをサーバ上に設置し、Cron を設定することで月末・年末にそれぞれのレポートが Slack に届くようにしてある。

所感


実はこのスクリプトは結構前に作っていてしかも前に使っていたブログでも紹介してあったりする。今回再び紹介したのはプログラムに改善点が見つかったのと、あとはまぁ、note のネタになるかなぁと(前ブログのネタを何度も擦っていくスタイル)。

グラフについては本当は日付も一緒に出た方がそれっぽくはあるが、実際に全部出すと結構ゴチャゴチャした見た目になったので日付の出力はしないようにした。体重の遷移がなんとなくわかればいいよね、と。

グラフの出力自体については、実は Notion と連携したいい感じのサービスが既に存在しているのだが、これもまぁ、プログラムのお勉強 and 練習ということで許してほしい。

この記事が気に入ったらサポートをしてみませんか?