電車に乗って社会参加していたときは出勤時刻がほぼ一定だったのですが、在宅勤務が始まってから始業時間がめちゃくちゃ適当になってしまい、あれ?今日は何時に仕事終わりだっけ…?というのを毎日やっています。旦那さんのほうが私の退勤時刻を把握している。
絶対残業したくないのと、退勤時刻を夫婦で共有したいため、LINEのトークへ退勤20分前に通知を飛ばすことにします。
今回は、以下の記事で作った「出退勤ダッシュボタン(で動かしてる打刻スクリプト)」に追記して目的を達成しました。
Wi-Fiに繋がらないAmazon Dash Buttonを復旧させて出勤ダッシュボタンを作る。 - Qiita
LINE Notifyのアクセストークン発行
トークに通知を飛ばすだけなら、LINE Messaging APIではなくLINE Notifyで十分です。
LINE Notify
マイページ -> アクセストークンの発行(開発者向け) で通知を飛ばしたいトークを選択すると、即トークンが発行できます。
以下のリクエストでトーク宛てに通知が飛ばせます。
curl -XPOST "https://notify-api.line.me/api/notify" -H "Authorization: Bearer ${YOUR_TOKEN}" --data "message=こんばんは"
退勤時刻20分前にメッセージを飛ばす
出勤でダッシュボタンを押したときに、「退勤時刻20分前」をタイマーにセットしてコマンドを実行できれば良さそうです。
今回の用途にぴったりなatコマンドを使います。
atコマンドについて詳しくまとめました 【Linuxコマンド集】
以下のコマンドを、出勤用の打刻スクリプトにセットします。
echo "curl -XPOST \"https://notify-api.line.me/api/notify\" -H \"Authorization: Bearer ${TOKEN}\" --data \"message=retrorocketさんはあと20分で退勤です。\"" | at now + ${勤務時間-20}min
atコマンドで、現在時刻から{(n時間*60)-20}分後にLINE NotifyのAPIを実行するようにセットしています。
目的が達成できました。出退勤だけでなく、スマート家電と合わせて使っても楽しそうですね。
