リモートワークだと会社のオフィスと違いチャイムがならないので、時間の経過がわかりにくい。
ということで、決まった時間にチャットでお知らせしてくれる「チャイムBOT」をcronを使って超簡単に作成しました。

ドラスでは、Mattermostを使っていますが、Slackなどでも同じようにできると思います。

# チャイムBOTチャンネル

専用チャンネルを作りました。

# 専用チャンネルにした理由

  1. 必要な人だけ使えるように。
    他のチャイムを使ったり、通知がうっとうしい人もいると思うので。
  2. 通知設定をチャイムだけ個別でできるように。
    チャンネルごとに通知設定を変更できるので、チャイムの通知をカスタマイズできます。
    私は、「モバイル通知プッシュ」を全てのアクティビティに変更し、スマホには必ず通知されるように設定しました。

# cronでチャイムの通知を送る

以下のように、crontabで設定をしました。
(URL部分は、WebhookのURLです。)

0 10 * * 1-5  curl -i -X POST --data-urlencode 'payload={"text": "@channel 10:00 始業時間です。"}' https://XXXXXXXX/hooks/XXXXXXXXXXXXXX
0 13 * * 1-5  curl -i -X POST --data-urlencode 'payload={"text": "@channel 13:00 お昼休み開始です。"}' https://XXXXXXXX/hooks/XXXXXXXXXXXXXX
0 14 * * 1-5  curl -i -X POST --data-urlencode 'payload={"text": "@channel 14:00 お昼休み終了です。"}' https://XXXXXXXX/hooks/XXXXXXXXXXXXXX
30 18 * * 1-5  curl -i -X POST --data-urlencode 'payload={"text": "@channel 18:30 終業時間です。"}' https://XXXXXXXX/hooks/XXXXXXXXXXXXXX

すごく簡単ですね。

# crontabのパラメータ

1行ごとに設定が書いてあり、行の先頭から、

  • 曜日
  • 実行コマンド

となっています。

0 10 * * 1-5  curl -i -X POST --data-urlencode 'payload={"text": "@channel 10:00 始業時間です。"}' https://XXXXXXXX/hooks/XXXXXXXXXXXXXX

の場合は、

  • 分: 00分
  • 時: 10時
  • 日: どの日でも
  • 月: どの月でも
  • 曜日: 1(月)〜5(金)
  • 実行コマンド: curl -i -X POST --data-urlencode 'payload={"text": "@channel 10:00 始業時間です。"}' https://XXXXXXXX/hooks/XXXXXXXXXXXXXX

となっています。

簡単ですね。

以下、補足です。

# cronとは

Unix系のOSの機能で、定期的に設定したタイミングでコマンドを送信してくれる機能です。
cronとは - IT用語辞典 e-Words

# crontab

crontabのガイドライン - Qiita

# Mattermost Incoming Webhooks

Incoming Webhooks — Mattermost 5.22 documentation