slackのstatusを更新するやつを利用してみた

こちらの記事を読んで早速試してみた。

GoogleカレンダーとSlackステータスをワンクリックで連携できるアプリをGoogle Apps Scriptで書いた - 詩と創作・思索のひろば

基本的にはそのまま使えるけど、少し修正した。 GASを使ってSlackと連携するためのやり方が勉強になった。

プライベート予定をスルーする

そもそも会社のカレンダーで同僚に公開できないような予定を管理するのはどうなん?というのはあるものの、まぁだからといって表示していいものでもないのも確かにそうなので。

EventのVisibilityがPRIVATEの時にはスルーするようにした。

他人の出退勤の予定をスルーする

社内の運用で、特に出退勤に関する予定をチームメンバーにも登録するというのが定着している。例えば、

  • 16時早退(山田)
  • 午前休: 佐藤
  • 田中(2h休)

といったタイトルで登録されている。

終日予定で登録されていれば良いのだけど、休んでいる時間帯で登録する人もいる。その時間になると、slackのstatusがみんな同じ他人の休みを表示してしまって使い物にならない。

他人から登録された予定を弾いたら良いかと思ったが、ミーティングの予定は主催者が参加者をゲストとして登録することがある。仕方ないので、タイトルのキーワードマッチで弾くようにした。

let IGNORED_COLLEAGUE_EVENT_REGEX = /^[出帰退]社|早退|休み|時間休|[hH]休|半休|午[前後]休|健康診断|外出|移動$/;

その他

登録の都合上予定がかぶることがあって、そういうときにどちらかしか表示されないようになっているので、そこをどうにかしたい。あとは、勤怠情報をつぶやく専用チャンネルがあるので、そこに「今日は Aさん がおやすみです」とか投稿できるようにしたい。

修正したやつはこちら。

https://github.com/motemen/gas-google-calendar-to-slack-status-farm/compare/master…kawaken:add-conditions-to-ignore